diff options
| author | Martin Storsjo <martin@martin.st> | 2018-07-10 10:46:45 +0000 |
|---|---|---|
| committer | Martin Storsjo <martin@martin.st> | 2018-07-10 10:46:45 +0000 |
| commit | 995e596168551b879f736004e8aa40a6e09b915e (patch) | |
| tree | 81041b2a7a0aea356559806902218a96db67efb5 /clang | |
| parent | 8263975c3294a62864cad99dc9d474785f074256 (diff) | |
| download | bcm5719-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.cpp | 2 | ||||
| -rw-r--r-- | clang/test/Driver/mingw-msvcrt.c | 6 |
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" |

