LINUX.ORG.RU

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

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

Это потом набежали всякие стандартные графоманы со своими UB

UB без оптимизаций никуда не исчезает. Стандарт языка не определяет семантику программы в некоторых случаях. Всё.

А оптимизации без учёта UB не позволят даже поместить int i в регистр. Вдруг программист захочет поменять значение этой переменной используя адресную арифметику с соседней переменной? А злобный оптимизатор посчитал что это UB и не может произойти и поместил переменную в регистр.

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

Это потом набежали всякие стандартные графоманы со своими UB

UB без оптимизаций никуда не исчезает. Стандарт языка не определяет семантику программы в некоторых случаях. Всё.

А оптимизации без учёта UB не позволят даже поместить int i в регистр. Вдруг программист захочет поменять значение этой переменной из другого потока записав значение в стек? А злобный оптимизатор посчитал что это UB и не может произойти и поместил переменную в регистр.