diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2010-06-04 18:47:06 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2010-06-04 18:47:06 +0000 |
| commit | 7f3d95054b492fbf6ebc22f7db32fb1574f25e6c (patch) | |
| tree | 0831dbc12148479fecaa4aca4ac29a08b208d4ec /clang/lib | |
| parent | 6beaf5110f32ab1ef15c1603e0f975d3b73e3b6c (diff) | |
| download | bcm5719-llvm-7f3d95054b492fbf6ebc22f7db32fb1574f25e6c.tar.gz bcm5719-llvm-7f3d95054b492fbf6ebc22f7db32fb1574f25e6c.zip | |
Driver: Change -dwarf-debug-flags option to pass the original command line
arguments after translation, instead of the -cc1 level arguments.
llvm-svn: 105476
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 78f2d700737..4ab32ed3eff 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1462,11 +1462,16 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, // Optionally embed the -cc1 level arguments into the debug info, for build // analysis. if (getToolChain().UseDwarfDebugFlags()) { + ArgStringList OriginalArgs; + for (ArgList::const_iterator it = Args.begin(), + ie = Args.end(); it != ie; ++it) + (*it)->render(Args, OriginalArgs); + llvm::SmallString<256> Flags; Flags += Exec; - for (unsigned i = 0, e = CmdArgs.size(); i != e; ++i) { + for (unsigned i = 0, e = OriginalArgs.size(); i != e; ++i) { Flags += " "; - Flags += CmdArgs[i]; + Flags += OriginalArgs[i]; } CmdArgs.push_back("-dwarf-debug-flags"); CmdArgs.push_back(Args.MakeArgString(Flags.str())); |

