LINUX.ORG.RU

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

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

Идея очень простая: переполнение int - UB, посему «не случается», что даёт компилятору бОльший простор для оптимизаций. Классический пример - лупчик с умножением в теле которое трансформируется в сложение.

Выглядит теоретизированием. Практический пример конкретного кода есть? Хорошего кода, а не так что компилятор исправляет идиотизм кодера.

И кстати

переполнение int - UB

это режим -fstrict-overflow и в нём с signed-ами ещё больше проблем чем в обычном. Потому что переполнение, когда оно таки случится, возможности гарантированно поймать нет вообще, и надо костыльно-ручные проверки диапазона заранее везде ставить в итоге. Да, в ряде случаев диапазон действительно имеется и можно его проверить, но во многих его приходится именно придумывать ради проверок.

Исправление firkax, :

Идея очень простая: переполнение int - UB, посему «не случается», что даёт компилятору бОльший простор для оптимизаций. Классический пример - лупчик с умножением в теле которое трансформируется в сложение.

Выглядит теоретизированием. Практический пример конкретного кода есть? Хорошего кода, а не так что компилятор исправляет идиотизм кодера.

И кстати

переполнение int - UB

это режим -fstrict-overflow и в нём с signed-ами ещё больше проблем чем в обычном. Потому что переполнение, когда оно таки случится, возможности гарантированно поймать нет вообще, и надо костыльно-ручные проверки диапазона заранее везде ставить в итоге.

Исправление firkax, :

Идея очень простая: переполнение int - UB, посему «не случается», что даёт компилятору бОльший простор для оптимизаций. Классический пример - лупчик с умножением в теле которое трансформируется в сложение.

Выглядит теоретизированием. Практический пример конкретного кода есть? Хорошего кода, а не так что компилятор исправляет идиотизм кодера.

И кстати

переполнение int - UB

это режим -fstrict-overflow и в нём с signed-ами ещё больше проблем чем в обычном. Потому что переполнение, когда оно таки случится, возможности поймать нет вообще, и надо костыльно-ручные проверки диапазона заранее везде ставить в итоге.

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

Идея очень простая: переполнение int - UB, посему «не случается», что даёт компилятору бОльший простор для оптимизаций. Классический пример - лупчик с умножением в теле которое трансформируется в сложение.

Выглядит теоретизированием. Практический пример конкретного кода есть? Хорошего кода, а не так что компилятор исправляет идиотизм кодера.