diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-04-08 05:11:16 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-04-08 05:11:16 +0000 |
commit | c9abc043af88f90d177a5bd147f627b78ca49fde (patch) | |
tree | d767381f7166211a708c2f4f71f144ac2b7717d2 /lib/CodeGen | |
parent | 797a2479dac447138a6276eb5e9fb6ad4f61fd92 (diff) |
Make debug info work when using -save-temps.
- This is pretty ugly, but the most obvious solution. Chime in if you
have a nicer one.
- The problem is that with -save-temps, clang-cc has no idea what the
name of the original input file is. However, the user expects to be
able to set breakpoints based on the input file name.
- We support this by providing a new option -main-file-name (similar
to -dumpbase used by gcc) which allows the driver to pass in the
original file name.
- <rdar://problem/6753383> building with clang using --save-temps
gets the compile unit name from the .i file...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68595 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/CGDebugInfo.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index c0819369b1..45ceb2b8e6 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -74,6 +74,12 @@ llvm::DICompileUnit CGDebugInfo::getOrCreateCompileUnit(SourceLocation Loc) { const char *DirName = FE ? FE->getDir()->getName() : "<unknown>"; const LangOptions &LO = M->getLangOptions(); + + // If this is the main file, use the user provided main file name if + // specified. + if (isMain && LO.getMainFileName()) + FileName = LO.getMainFileName(); + unsigned LangTag; if (LO.CPlusPlus) { if (LO.ObjC1) |