История изменений
Исправление hateyoufeel, (текущая версия) :
Ну лол.. ты как раз в strict aliasing вляпался. У тебя UB и дело не в кастах.
Но если тебе так хочется срать в память, держи, я починил: https://godbolt.org/z/arqso9z5G
UPD: вот так работает даже с -O3 https://godbolt.org/z/KnP1P17E7
Исправление hateyoufeel, :
Ну лол.. ты как раз в strict aliasing вляпался. У тебя UB и дело не в кастах.
Но если тебе так хочется срать в память, держи, я починил: https://godbolt.org/z/arqso9z5G
Исправление hateyoufeel, :
Ну лол.. ты как раз в strict aliasing вляпался. У тебя UB и дело не в кастах.
Исходная версия hateyoufeel, :
Ну лол.. у тебя UB в коде. И дело не в кастах в инт и обратно.
int a, b;
intptr_t bx = (intptr_t)&b, ax = (intptr_t)&a;
int *p = (int*)(/* начало кода с UB */ ax + 4 /* конец кода с UB */);