Revise debug info machinery to digest nested functions and classes.
authorStuart Hastings <stuart@apple.com>
Tue, 6 Apr 2010 17:19:32 +0000 (17:19 +0000)
committerStuart Hastings <stuart@apple.com>
Tue, 6 Apr 2010 17:19:32 +0000 (17:19 +0000)
commit983327b3516faac156d7a7ce26a80e24685221f4
tree2ad6a6f38f7fd4c65ba73c79c8967007b607c0a0
parentf77cdabb58eaf05dbec3f663c8b33d8ba1eed2db
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100530 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h
test/FrontendC++/2010-02-17-DbgArtificialArg.cpp