Неопределённое поведение
Код на C/C++, поведение которого стандартом не определено: компилятор вправе сделать что угодно, включая удаление этого кода.
Классика жанра: переполнение знакового целого, деление на ноль, use-after-free, чтение неинициализированной памяти. Компилятор оптимизирует исходя из допущения, что UB не случается, — и обычная ошибка превращается в дыру в безопасности. Санитайзеры (ASAN, UBSAN) ловят такое в тестах, а Rust устраняет большую часть UB самим устройством языка.