diff options
author | Eric Christopher <echristo@apple.com> | 2012-03-26 21:38:38 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2012-03-26 21:38:38 +0000 |
commit | 082120053fdccb7eb21681c09365175f130df210 (patch) | |
tree | 8b3d48b5a9ccc1454b067dabec1974fb0a096546 | |
parent | 02f0a49bbaa9a0f881ef18abd3b06168c2b35135 (diff) | |
download | external_llvm-082120053fdccb7eb21681c09365175f130df210.zip external_llvm-082120053fdccb7eb21681c09365175f130df210.tar.gz external_llvm-082120053fdccb7eb21681c09365175f130df210.tar.bz2 |
Use the file in the inlined die rather than the compile unit for
backtrace locations.
Testcase forthcoming, but I wanted to get some testing here.
Should fix:
PR12323
PR12314
rdar://11091100
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153471 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 388cef4..84fc564 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -438,7 +438,8 @@ DIE *DwarfDebug::constructInlinedScopeDIE(CompileUnit *TheCU, I->second.push_back(std::make_pair(StartLabel, ScopeDIE)); DILocation DL(Scope->getInlinedAt()); - TheCU->addUInt(ScopeDIE, dwarf::DW_AT_call_file, 0, TheCU->getID()); + TheCU->addUInt(ScopeDIE, dwarf::DW_AT_call_file, 0, + GetOrCreateSourceID(DL.getFilename(), DL.getDirectory())); TheCU->addUInt(ScopeDIE, dwarf::DW_AT_call_line, 0, DL.getLineNumber()); // Add name to the name table, we do this here because we're guaranteed |