diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2011-05-09 17:23:16 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2011-05-09 17:23:16 +0000 |
| commit | eb86b04595af4fa6b5657c6c6476f82de4091bf3 (patch) | |
| tree | 47237ac9c5c6ccaafd17f94092af2f185cba477f | |
| parent | 6be291a2cd444ff887ac58fc32a0b84be4f8abfa (diff) | |
| download | llvm-eb86b04595af4fa6b5657c6c6476f82de4091bf3.zip llvm-eb86b04595af4fa6b5657c6c6476f82de4091bf3.tar.gz llvm-eb86b04595af4fa6b5657c6c6476f82de4091bf3.tar.bz2 | |
Driver/Darwin: Put dsymutil -o arguments first, so that dysmutil doesn't barf
when POSIXLY_COMPLIANT is set.
- Patch by Dave Vasilevsky!
llvm-svn: 131084
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 6 | ||||
| -rw-r--r-- | clang/test/Driver/darwin-ld.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index b140a15..a8998c4 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -3166,14 +3166,14 @@ void darwin::Dsymutil::ConstructJob(Compilation &C, const JobAction &JA, const char *LinkingOutput) const { ArgStringList CmdArgs; + CmdArgs.push_back("-o"); + CmdArgs.push_back(Output.getFilename()); + assert(Inputs.size() == 1 && "Unable to handle multiple inputs."); const InputInfo &Input = Inputs[0]; assert(Input.isFilename() && "Unexpected dsymutil input."); CmdArgs.push_back(Input.getFilename()); - CmdArgs.push_back("-o"); - CmdArgs.push_back(Output.getFilename()); - const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("dsymutil")); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); diff --git a/clang/test/Driver/darwin-ld.c b/clang/test/Driver/darwin-ld.c index 3f2b691..5835f79 100644 --- a/clang/test/Driver/darwin-ld.c +++ b/clang/test/Driver/darwin-ld.c @@ -5,9 +5,9 @@ // Make sure we run dsymutil on source input files. // RUN: %clang -ccc-host-triple i386-apple-darwin9 -### -g %s -o BAR 2> %t.log -// RUN: grep '".*dsymutil" "BAR"' %t.log +// RUN: grep '".*dsymutil" "-o" "BAR.dSYM" "BAR"' %t.log // RUN: %clang -ccc-host-triple i386-apple-darwin9 -### -g -filelist FOO %s -o BAR 2> %t.log -// RUN: grep '".*dsymutil" "BAR"' %t.log +// RUN: grep '".*dsymutil" "-o" "BAR.dSYM" "BAR"' %t.log // Splatter test case. This is gross, but it works for now. For the // driver, just getting coverage of the tool code and checking the |
