summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2018-07-10 10:46:45 +0000
committerMartin Storsjo <martin@martin.st>2018-07-10 10:46:45 +0000
commit995e596168551b879f736004e8aa40a6e09b915e (patch)
tree81041b2a7a0aea356559806902218a96db67efb5 /clang
parent8263975c3294a62864cad99dc9d474785f074256 (diff)
downloadbcm5719-llvm-995e596168551b879f736004e8aa40a6e09b915e.tar.gz
bcm5719-llvm-995e596168551b879f736004e8aa40a6e09b915e.zip
[MinGW] Treat any -lucrt* as replacing -lmsvcrt
Since SVN r314138, we check if the user has specified any particular alternative msvcrt/ucrt version, and skip the default -lmsvcrt in those cases. In addition to the existing names checked, we should also treat a plain -lucrt in the same way, mingw-w64 has now added a separate import library named libucrt.a, in addition to libucrtbase.a. Differential Revision: https://reviews.llvm.org/D49054 llvm-svn: 336654
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Driver/ToolChains/MinGW.cpp2
-rw-r--r--clang/test/Driver/mingw-msvcrt.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains/MinGW.cpp b/clang/lib/Driver/ToolChains/MinGW.cpp
index 206f52e82d0..da71a84b760 100644
--- a/clang/lib/Driver/ToolChains/MinGW.cpp
+++ b/clang/lib/Driver/ToolChains/MinGW.cpp
@@ -83,7 +83,7 @@ void tools::MinGW::Linker::AddLibGCC(const ArgList &Args,
CmdArgs.push_back("-lmoldname");
CmdArgs.push_back("-lmingwex");
for (auto Lib : Args.getAllArgValues(options::OPT_l))
- if (StringRef(Lib).startswith("msvcr") || Lib == "ucrtbase")
+ if (StringRef(Lib).startswith("msvcr") || StringRef(Lib).startswith("ucrt"))
return;
CmdArgs.push_back("-lmsvcrt");
}
diff --git a/clang/test/Driver/mingw-msvcrt.c b/clang/test/Driver/mingw-msvcrt.c
index f83a8c261c0..89a8d2a94c2 100644
--- a/clang/test/Driver/mingw-msvcrt.c
+++ b/clang/test/Driver/mingw-msvcrt.c
@@ -1,6 +1,12 @@
// RUN: %clang -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_DEFAULT %s
// RUN: %clang -v -target i686-pc-windows-gnu -lmsvcr120 -### %s 2>&1 | FileCheck -check-prefix=CHECK_MSVCR120 %s
+// RUN: %clang -v -target i686-pc-windows-gnu -lucrtbase -### %s 2>&1 | FileCheck -check-prefix=CHECK_UCRTBASE %s
+// RUN: %clang -v -target i686-pc-windows-gnu -lucrt -### %s 2>&1 | FileCheck -check-prefix=CHECK_UCRT %s
// CHECK_DEFAULT: "-lmingwex" "-lmsvcrt" "-ladvapi32"
// CHECK_MSVCR120: "-lmsvcr120"
// CHECK_MSVCR120-SAME: "-lmingwex" "-ladvapi32"
+// CHECK_UCRTBASE: "-lucrtbase"
+// CHECK_UCRTBASE-SAME: "-lmingwex" "-ladvapi32"
+// CHECK_UCRT: "-lucrt"
+// CHECK_UCRT-SAME: "-lmingwex" "-ladvapi32"
OpenPOWER on IntegriCloud