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 | |
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
-rw-r--r-- | lib/Driver/Tools.cpp | 9 | ||||
-rw-r--r-- | test/Driver/darwin-debug-flags.c | 6 |
2 files changed, 9 insertions, 6 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())); diff --git a/test/Driver/darwin-debug-flags.c b/test/Driver/darwin-debug-flags.c index 7ce6137841..6f245271d5 100644 --- a/test/Driver/darwin-debug-flags.c +++ b/test/Driver/darwin-debug-flags.c @@ -2,10 +2,8 @@ // <rdar://problem/7256886> // CHECK: !1 = metadata !{ -// CHECK: -cc1 -// CHECK: -triple i386-apple-darwin9 -// CHECK: -g -// CHECK: -Os +// CHECK: -mmacosx-version-min=10.5.0 +// CHECK: -g -Os // CHECK: [ DW_TAG_compile_unit ] int x; |