From f55053380ca3b506a09e2f12580fdd8f516b7ec3 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Fri, 1 Jul 2016 15:36:31 +0000 Subject: [PATCH] Driver: support -L for MSVC toolchain under the GNU driver When not using clang in the CL emulation mode, honour the -L flags as additional library paths to pass to the linker invocation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@274356 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Driver/Tools.cpp | 4 ++++ test/Driver/msvc-link.c | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index cef2008bed..8b1171aba5 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -9950,6 +9950,10 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA, WindowsSdkLibPath.c_str())); } + if (!C.getDriver().IsCLMode() && Args.hasArg(options::OPT_L)) + for (const auto &LibPath : Args.getAllArgValues(options::OPT_L)) + CmdArgs.push_back(Args.MakeArgString("-libpath:" + LibPath)); + CmdArgs.push_back("-nologo"); if (Args.hasArg(options::OPT_g_Group, options::OPT__SLASH_Z7)) diff --git a/test/Driver/msvc-link.c b/test/Driver/msvc-link.c index b44e382619..8fe57331ee 100644 --- a/test/Driver/msvc-link.c +++ b/test/Driver/msvc-link.c @@ -10,3 +10,9 @@ // DLL: "-defaultlib:libcmt" // DLL: "-nologo" // DLL: "-dll" + +// RUN: %clang -target i686-pc-windows-msvc -L/var/empty -L/usr/lib -### %s 2>&1 | FileCheck --check-prefix LIBPATH %s +// LIBPATH: "-libpath:/var/empty" +// LIBPATH: "-libpath:/usr/lib" +// LIBPATH: "-nologo" + -- 2.40.0