]> granicus.if.org Git - clang/commitdiff
Driver: Forward -Wl, and -Xlink arguments when using windows linker
authorHans Wennborg <hans@hanshq.net>
Wed, 14 Aug 2013 01:24:35 +0000 (01:24 +0000)
committerHans Wennborg <hans@hanshq.net>
Wed, 14 Aug 2013 01:24:35 +0000 (01:24 +0000)
Differential Revision: http://llvm-reviews.chandlerc.com/D1394

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188346 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Tools.cpp
test/Driver/Xlinker-args.c

index 5dd6fa1eacca8ee86f172f985ce797c99bcd68f8..2d0998f099efdc618d56052dae150dd7637e206e 100644 (file)
@@ -6597,7 +6597,8 @@ void visualstudio::Link::ConstructJob(Compilation &C, const JobAction &JA,
        it = Inputs.begin(), ie = Inputs.end(); it != ie; ++it) {
     if (it->isFilename())
       CmdArgs.push_back(it->getFilename());
-    // FIXME: Forward -Wl, etc.
+    else
+      it->getInputArg().renderAsInput(Args, CmdArgs);
   }
 
   const char *Exec =
index d89d5bad1aaf4d1dd1c86bee50768ad6b11cbdf1..4285af7944b5fc43cf1443d9dc67e59156916244 100644 (file)
 // DARWIN-NOT: --no-demangle
 // DARWIN: "one" "two" "three" "four"
 // LINUX: "--no-demangle" "one" "two" "three" "four"
+
+// Check that we forward '-Xlinker' and '-Wl,' on Windows.
+// RUN: %clang -target i686-pc-win32 -### \
+// RUN:   -Xlinker one -Wl,two %s 2>&1 | \
+// RUN:   FileCheck -check-prefix=WIN %s
+// WIN: link.exe
+// WIN: "one"
+// WIN: "two"