From 2388b77626beea9fb8a57fbca35b605764d911b2 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Wed, 14 Aug 2013 01:24:35 +0000 Subject: [PATCH] Driver: Forward -Wl, and -Xlink arguments when using windows linker 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 | 3 ++- test/Driver/Xlinker-args.c | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 5dd6fa1eac..2d0998f099 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -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 = diff --git a/test/Driver/Xlinker-args.c b/test/Driver/Xlinker-args.c index d89d5bad1a..4285af7944 100644 --- a/test/Driver/Xlinker-args.c +++ b/test/Driver/Xlinker-args.c @@ -14,3 +14,11 @@ // 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" -- 2.50.1