https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89529
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-03-25 Ever confirmed|0 |1 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. Alex - how do we distinguish before/after sequence point here when breaking on line 7? Is this a consumer issue? As you can see the actual breakpoint is on the implicit return, but in final the simple-return pattern is associated with line 8... (but still covered by the line 7 DEBUG BEGIN_STMT it seems). b () { <bb 2> [local count: 1073741824]: [t.c:3:5] # DEBUG BEGIN_STMT [t.c:3:11] # DEBUG l_1862 => 19071 [t.c:4:5] # DEBUG BEGIN_STMT [t.c:4:7] a = 0; [t.c:5:5] # DEBUG BEGIN_STMT [t.c:7:5] # DEBUG BEGIN_STMT [t.c:7:5] # DEBUG l_1862 => 19070 [t.c:8:1] return; (gdb) disassemble Dump of assembler code for function b: 0x00000000004004b2 <+0>: movl $0x0,0x200b78(%rip) # 0x601034 <a> => 0x00000000004004bc <+10>: retq End of assembler dump.