Современные оптимизирующие компиляторы -- коварны. Они могут видеть, что ты написал какую-то лажу. Понимать это, по своему, мол код всё равно не работает, и нагенерировать в итоге что-то другое. При этом ни слова не скажут. Видеть могут глубоко, если в пределах одного объектного файла.