------- Comment #5 from jakub at gcc dot gnu dot org  2010-05-19 14:52 -------
The problem is just that there are no instructions with locus on line 4 - with
unrolling no traces of the for loop in the assembly remains and all
instructions in the body have line 5 and immediately after it another unrolled
iteration has the same line.
Apparently gdb on next just puts a breakpoint on the first insn after it that
has different file or line number.  GCC could emit extra .loc 1 5 0 directives
which would just add another row in the line table, or .loc 1 5 0 is_stmt 0
right after the first insn and .loc 1 5 0 is_stmt 1 back before first insn of
the next iteration, but apparently this doesn't change anything in gdb.  Not
even lying and alternating .loc 1 5 0 and .loc 1 5 1 helps.  And, putting
extra .loc 1 4 0 covering no instructions doesn't change anything either.

So I'm afraid there is nothing to do here on the gcc side, except lying that
some insn comes from some other line (and for unrolling where the body is just
one insn there is nothing to do at all).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44113

Reply via email to