summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2018-09-04 18:00:14 +0000
committerNico Weber <nicolasweber@gmx.de>2018-09-04 18:00:14 +0000
commit88f72854157486050a8f1e46151369e48d10b4f5 (patch)
tree1d4619224e67d30a4c52b5593d69728a6bf9ad2a /clang/lib
parent045a217bee40c24a0ad8e20450c3714c74f67b47 (diff)
downloadbcm5719-llvm-88f72854157486050a8f1e46151369e48d10b4f5.tar.gz
bcm5719-llvm-88f72854157486050a8f1e46151369e48d10b4f5.zip
clang-cl: Pass /Brepro to linker if it was passed to the compiler
Differential Revision: https://reviews.llvm.org/D51635 llvm-svn: 341390
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Driver/ToolChains/MSVC.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/MSVC.cpp b/clang/lib/Driver/ToolChains/MSVC.cpp
index 4df43ac8ce9..105544840cf 100644
--- a/clang/lib/Driver/ToolChains/MSVC.cpp
+++ b/clang/lib/Driver/ToolChains/MSVC.cpp
@@ -355,6 +355,15 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA,
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) {
OpenPOWER on IntegriCloud