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