[LLVMbugs] [Bug 14645] New: debug info drops second parameter from ctor definition

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Dec 18 22:52:10 PST 2012


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

             Bug #: 14645
           Summary: debug info drops second parameter from ctor definition
           Product: clang
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Keywords: googler
          Severity: enhancement
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: dblaikie at gmail.com
                CC: dgregor at apple.com, echristo at gmail.com,
                    llvmbugs at cs.uiuc.edu
            Blocks: 14330
    Classification: Unclassified


Given the following code:

struct bar {
  ~bar() { }
};

struct foo {
  foo(bar x) {
  }
};

int main() {
  foo f((bar()));
}

given:

"print foo::foo"

GDB prints "There is no field named foo" (yet "list foo::foo" prints out
"foo(bar x) {")

My best theory (which is, admittedly, a stretch) is that this maybe be related
to an apparent bug in Clang's debug info here.

Using llvm-dwarfdump, the subprogram DIE for the declaration of the 'foo(bar)'
ctor within the structure DIE shows both parameters (this, x) but the suprogram
DIE representing the definition of the ctor has only one parameter (this).
Perhaps this is confusing GDB sufficiently to produce this behavior.

This was found in gdb.cp/cpexprs.exp in the GDB 7.5 test suite.

-- 
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