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 | 0925c62c74a18420daf83c0600e74ba0b67736e1 (patch) | |
tree | 094dbaf8450e02e8bb995bc184c0d8ea7569e0b4 /llvm/lib/CodeGen | |
parent | d9d80e084426b70533c79ef66a4ea6b0ee448c17 (diff) | |
download | bcm5719-llvm-0925c62c74a18420daf83c0600e74ba0b67736e1.tar.gz bcm5719-llvm-0925c62c74a18420daf83c0600e74ba0b67736e1.zip |
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
llvm-svn: 153471
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 388cef4d8b8..84fc564f4e3 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/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 |