summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
diff options
context:
space:
mode:
authorStuart Hastings <stuart@apple.com>2010-04-06 17:19:32 +0000
committerStuart Hastings <stuart@apple.com>2010-04-06 17:19:32 +0000
commitc067196984b2f6044668af31e93ce3366226d58e (patch)
treef77fa552f2e35ae0e62959d4c6a92ee8dbd91209 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
parent3d45e17d15c6c93fb6f78a523bf51d712bce18b0 (diff)
downloadbcm5719-llvm-c067196984b2f6044668af31e93ce3366226d58e.tar.gz
bcm5719-llvm-c067196984b2f6044668af31e93ce3366226d58e.zip
Revise debug info machinery to digest nested functions and classes.
A certain GDB testsuite case (local.cc) has a function nested inside a class nested inside another function. GCC presents the innermost function to llvm-convert first. Heretofore, the debug info mistakenly placed the inner function at module scope. This patch walks the GCC context links and instantiates the outer class and function so the debug info is properly nested. Radar 7426545. llvm-svn: 100530
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
index c7baf5f5d38..6d6d02b4dfa 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
@@ -332,6 +332,9 @@ private:
/// addToContextOwner - Add Die into the list of its context owner's children.
void addToContextOwner(DIE *Die, DIDescriptor Context);
+ /// isFunctionContext - True if given Context is nested within a function.
+ bool isFunctionContext(DIE *context);
+
/// addType - Add a new type attribute to the specified entity.
void addType(DIE *Entity, DIType Ty);
OpenPOWER on IntegriCloud