https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90017

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Qirun Zhang from comment #3)
> (In reply to Alexandre Oliva from comment #2)
> > This odd behavior is an artifact of the way GCC lays out the basic blocks,
> > and how GDB interprets the line number program.
> > 
> > The blocks containing the conditional calls to optimize_me_not in line 15
> > are moved to the end of the function, in reverse order, while the rest of
> > the inner loop, with code from lines 12 to 14, remains in sequential order.
> > 
> > What GDB sees then is a long chunk of code all at line 15, the first of
> > which corresponds to the iteration l=8.  l=7 is later, with another line
> > number mark, then l=6 and so on, but without intervening line number
> > changes, it takes it all as a single line.  GDB pays no attention to the
> > is_stmt=1 markers at each and every one of them, let alone to the different
> > view numbers.
> > 
> > So, yeah, definitely consumer issue.
> 
> Hi Alex,
> 
> Are you suggesting that it's a gdb bug? Perhaps, I can report it to gdb
> instead? Thanks.

Yes, reporting to gdb sounds appropriate.

Reply via email to