[LLVMbugs] [Bug 18462] New: DWARF for static local attached to wrong DIE
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Jan 13 14:14:17 PST 2014
http://llvm.org/bugs/show_bug.cgi?id=18462
Bug ID: 18462
Summary: DWARF for static local attached to wrong DIE
Product: libraries
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: DebugInfo
Assignee: unassignedbugs at nondot.org
Reporter: paul_robinson at playstation.sony.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
A static local variable usually has its DWARF entry emitted as a child
of the defining DIE for its subprogram.
But if the subprogram is inside a namespace, the variable’s DIE gets
emitted as a child of a non-defining declaration DIE for the subprogram.
This makes it inaccessible to gdb.
Run the following program under gdb. When you step into Test::NSFunc(),
“info locals” reports no locals and “p foo” says there’s no such variable.
Step into GlobalFunc() and you can see “bar” just fine.
namespace Test {
void NSFunc() {
static int foo = 1;
foo++;
}
}
void GlobalFunc() {
static int bar = 1;
bar++;
}
int main(void) {
Test::NSFunc();
GlobalFunc();
return 0;
}
--
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/20140113/0d7b5c95/attachment.html>
More information about the llvm-bugs
mailing list