История изменений
Исправление shdown, (текущая версия) :
Выравнивание тут не причём. Это алиасинг.
Ключ -fno-strict-aliasing уже существует.
Алсо, ты присваиваешь 1 в любом случае, поэтому компилятор даже с этим ключом заоптимизирует и вернёт 1.
Выравнивание тут ни при чём. Это алиасинг. Но код с -fno-strict-aliasing всё равно вернёт 1. (А ещё я поменял код my_func, и теперь оно печатает другое!)
Странно как-то, не находишь?
(Я знаю, как продемонстрировать, что это выравниваниие, но хочу немного потроллить Stanson’а перед этим.)
Исправление shdown, :
Выравнивание тут не причём. Это алиасинг.
Ключ -fno-strict-aliasing уже существует.
Алсо, ты присваиваешь 1 в любом случае, поэтому компилятор даже с этим ключом заоптимизирует и вернёт 1.
Выравнивание тут ни при чём. Это алиасинг. Но код с -fno-strict-aliasing всё равно вернёт 1.
Странно как-то, не находишь?
(Я знаю, как продемонстрировать, что это выравниваниие, но хочу немного потроллить Stanson’а перед этим.)
Исходная версия shdown, :
Выравнивание тут не причём. Это алиасинг.
Ключ -fno-strict-aliasing уже существует.
Алсо, ты присваиваешь 1 в любом случае, поэтому компилятор даже с этим ключом заоптимизирует и вернёт 1.
Выравнивание тут не причём. Это алиасинг. Но код с -fno-strict-aliasing всё равно вернёт 1.
Странно как-то, не находишь?
(Я знаю, как продемонстрировать, что это выравниваниие, но хочу немного потроллить Stanson’а перед этим.)