[Bug debug/27672] New: C frontend does not generate line information for multi-line conditions

drow at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu May 18 21:36:00 GMT 2006


Compile something like this with debugging information:

  if (func1 ()
      || func2 ()
      || func3 ())

Set a breakpoint on func1, and then use GDB's "finish" command to leave the
function.  You'll be back on the first line of the if.  Same if you finish from
func2.  Nothing in the process of parsing a conditional expression sets
expression locations for individual parts of the expression.

We do set a line number on the outer compound expression, and that points at
the beginning.  It would be strange to single-step onto the conditional jump
instruction and be taken back to the top of the "if".  So this may not be a
straightforward fix.


-- 
           Summary: C frontend does not generate line information for multi-
                    line conditions
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: drow at gcc dot gnu dot org


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



More information about the Gcc-bugs mailing list