[PATCH] D51635: clang-cl: Pass /Brepro to linker if it was passed to the compiler
Phabricator via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 4 11:01:23 PDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rC341390: clang-cl: Pass /Brepro to linker if it was passed to the compiler (authored by nico, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D51635?vs=163829&id=163870#toc
Repository:
rC Clang
https://reviews.llvm.org/D51635
Files:
lib/Driver/ToolChains/MSVC.cpp
test/Driver/msvc-link.c
Index: test/Driver/msvc-link.c
===================================================================
--- test/Driver/msvc-link.c
+++ test/Driver/msvc-link.c
@@ -3,6 +3,7 @@
// BASIC: "-out:a.exe"
// BASIC: "-defaultlib:libcmt"
// BASIC: "-nologo"
+// BASIC-NOT: "-Brepro"
// RUN: %clang -target i686-pc-windows-msvc -shared -o a.dll -### %s 2>&1 | FileCheck --check-prefix=DLL %s
// DLL: link.exe"
@@ -16,3 +17,14 @@
// LIBPATH: "-libpath:/usr/lib"
// LIBPATH: "-nologo"
+// RUN: %clang_cl /Brepro -### %s 2>&1 | FileCheck --check-prefix=REPRO %s
+// REPRO: link.exe"
+// REPRO: "-out:msvc-link.exe"
+// REPRO: "-nologo"
+// REPRO: "-Brepro"
+
+// RUN: %clang_cl /Brepro- -### %s 2>&1 | FileCheck --check-prefix=NOREPRO %s
+// NOREPRO: link.exe"
+// NOREPRO: "-out:msvc-link.exe"
+// NOREPRO: "-nologo"
+// NOREPRO-NOT: "-Brepro"
Index: lib/Driver/ToolChains/MSVC.cpp
===================================================================
--- lib/Driver/ToolChains/MSVC.cpp
+++ lib/Driver/ToolChains/MSVC.cpp
@@ -355,6 +355,15 @@
options::OPT__SLASH_Zd))
CmdArgs.push_back("-debug");
+ // Pass on /Brepro if it was passed to the compiler.
+ // Note that /Brepro maps to -mno-incremental-linker-compatible.
+ bool DefaultIncrementalLinkerCompatible =
+ C.getDefaultToolChain().getTriple().isWindowsMSVCEnvironment();
+ if (!Args.hasFlag(options::OPT_mincremental_linker_compatible,
+ options::OPT_mno_incremental_linker_compatible,
+ DefaultIncrementalLinkerCompatible))
+ CmdArgs.push_back("-Brepro");
+
bool DLL = Args.hasArg(options::OPT__SLASH_LD, options::OPT__SLASH_LDd,
options::OPT_shared);
if (DLL) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51635.163870.patch
Type: text/x-patch
Size: 1723 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180904/816daf40/attachment.bin>
More information about the cfe-commits
mailing list