[llvm-bugs] [Bug 34522] New: [DWARF] Line 0 should not have is_stmt set

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Sep 7 16:11:41 PDT 2017


            Bug ID: 34522
           Summary: [DWARF] Line 0 should not have is_stmt set
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: paul_robinson at playstation.sony.com
                CC: llvm-bugs at lists.llvm.org

I think it does not make sense for a line-0 record to have is_stmt set.
I made a point of turning it off for implicit line-0 records generated
by DwarfDebug, and in real code I don't think we would ever see it.

However, adding an assertion to this effect broke 40 LLVM tests.
In most cases, the problem is merely that the test-input IR does
not specify everything that normal IR input has.  In particular, at
some point DISubprogram started making a distinction between Line and 
scopeLine, i.e. line of declaration versus where-the-code-starts.
If the scopeLine argument is missing from textual IR, it defaults to
zero, and that gets propagated to the entry point of the subprogram,
which is a stopping point and therefore has is_stmt=1.

Defaulting scopeLine to Line fixed 33 of the tests, and eyeballing
the other 7 suggests that most of them don't set Line either.  This
is (IMO) a matter of flawed tests and it should be no sweat to fix.

There is one test related to prologue-end that seems to be testing
that it's okay for prologue-end to be line 0, and I ran out of time
to investigate any further.

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170907/13b53acd/attachment.html>

More information about the llvm-bugs mailing list