[LLVMbugs] [Bug 14146] New: Attribute 'nodebug' creates extra DIE

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Oct 22 16:46:27 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=14146

             Bug #: 14146
           Summary: Attribute 'nodebug' creates extra DIE
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: paul.robinson at am.sony.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 9398
  --> http://llvm.org/bugs/attachment.cgi?id=9398
Revised attr-nodebug.cpp

I modified test/CodeGen/attr-nodebug.c by renaming it to *.cpp and
adding a method with __attribute__((nodebug)) to verify that it didn't
generate debug info.  We seem to have decided that this should still
emit a DIE in the class description, but not emit one for the method's
definition.  At any rate, that's what current trunk does.

I was expecting to see only one subprogram DIE, for the declaration
of method 't2'.  However, I also saw one for the class constructor,
even though there's no definition of the constructor.

But if I remove the 'nodebug' attribute, the constructor DIE goes away!

(I also see a DIE for the definition of 't2' which is expected.)

I think the constructor DIE should not be there, regardless of the
'nodebug' attribute on method 't2'.  So that's how I wrote the test.
But that means the test doesn't pass, so I'm filing a bug instead of
sending it to cfe-commits.  And apparently I don't yet have the chops
to figure out why the extra DIE shows up.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list