https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104597 --- Comment #1 from m.cencora at gmail dot com --- clang-12 optimizes it to: Dump of assembler code for function main: 0x0000000000401110 <+0>: mov $0x1,%eax 0x0000000000401115 <+5>: ret