https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67293
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- The difference is of course when not optimized out but using only(?) DW_AT_const_value you can't refer to &a in the debugger: (gdb) p &a Can't take address of "a" which isn't an lvalue.