LINUX.ORG.RU

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

Исправление 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 */);