LINUX.ORG.RU

История изменений

Исправление pftBest, (текущая версия) :

При чем тут неопределённый результат к UB ? Это совсем разные вещи. И какое у тебя железо и как оно считает совсем не важно, потому что ты проиграл еще на этапе компиляции, задолго до того как твой код начнет выполнять процессор. Например если ты напишешь такой код, или твой код после оптимизаций станет таким:

void foo(int a) {
    if ((a + 1) > a) {
        do_x();
        return;
    }
    do_y();
}
То в исполняемом файле даже не будет функции do_y, потому что компилятор выкинет ее нахрен вместе с проверкой. А если функции нет, то и не важно что процессор делает при переполнении.

Исходная версия pftBest, :

При чем тут неопределённый результат к UB ? Это совсем разные вещи. И какое у тебя железо и как оно считает совсем не важно, потому что ты проиграл еще на этапе компиляции, задолго до того как твой код начнет выполнять процессор. Например если ты напишешь такой код, или твой код после оптимизаций станет таким:

void foo(int a) {
    if ((a + 1) > a) {
        do_x();
    }
    do_y();
}
То в исполняемом файле даже не будет функции do_x, потому что компилятор выкинет ее нахрен вместе с проверкой. А если функции нет, то и не важно что процессор делает при переполнении.