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 | 6e90047520c8b4d6daa110bdbdaf15041016bd7c (patch) | |
tree | dea03fcb73520abcc52d4b329f7ab90b836f70ae /lib/Driver/Tools.cpp | |
parent | be1cc3eec682ca73361edb4109a7969452d3dbeb (diff) |
Driver: Change -dwarf-debug-flags option to pass the original command line
arguments after translation, instead of the -cc1 level arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105476 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Tools.cpp')
-rw-r--r-- | lib/Driver/Tools.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 78f2d70073..4ab32ed3ef 100644 --- a/lib/Driver/Tools.cpp +++ b/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())); |