INT_MIN / -1 = Floating point exception
-INT_MIN > INT_MAX, почему бы и нет?
ну и авторы баша судя по всему тоже не в курсе, раз деление на ноль заэкранировали проверкой, а вот такое - нет
Это не эксепшн в терминах C++. Это просто сигнал SIGFPE. Название конечно неудачное выбрано для него =)
а почему операции с int вызывают Floating exception?
Это не эксепшн в терминах C++.ну да, было бы прикольно, если бы оно кидало эксепшен в терминах
C++ из проги на C
думаю из списка сигналов больше всего подходит SIGFPE - вот его и кидают
DO_ERROR_INFO(X86_TRAP_DE, SIGFPE, "divide error", divide_error, FPE_INTDIV,
regs->ip)
Это особенность конкретной операционки на конкретной архитектуреПосоны говорят, что на msvc11 / x86 тоже воспроизводится.
сам "баг" заключается в специфике работы процессорной функции x86 idiv - а это фича процессора, а не архитектуры операционки
каков аналог сигналов под виндой?
каков аналог сигналов под виндой?в данном случае вроде бы должен использоваться SEH
zsh: command not found: -9223372036854775808
64битный?
% $[2**63]; $[2**63/-1]; $[2**64]
zsh: command not found: -9223372036854775808
zsh: command not found: -9223372036854775808
zsh: command not found: 0
на макоси баш от такого виснет в бесконечном цикле
жесть
Оставить комментарий
margadon
Впечатляет, хотя может и бояна ещё можно в 64битном bash выполнить вот это:
а вот и ссылочка с дополнительными плюшками: http://avva.livejournal.com/2548306.html