summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2016-10-04 21:01:04 +0000
committerHans Wennborg <hans@hanshq.net>2016-10-04 21:01:04 +0000
commit625fba88406e3ff47ceb63b7d36d5db756ec44cf (patch)
tree3a25104e6adf37f359148b06dcacb67f6384497d
parent26228e3010b4005e322c68c5b4e2c4feadff48f6 (diff)
downloadbcm5719-llvm-625fba88406e3ff47ceb63b7d36d5db756ec44cf.tar.gz
bcm5719-llvm-625fba88406e3ff47ceb63b7d36d5db756ec44cf.zip
clang-cl: Make /Fo apply also when using -flto
llvm-svn: 283258
-rw-r--r--clang/lib/Driver/Driver.cpp2
-rw-r--r--clang/test/Driver/cl-outputs.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 9358dc88caf..565eb092d53 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -2807,7 +2807,7 @@ const char *Driver::GetNamedOutputPath(Compilation &C, const JobAction &JA,
// Determine what the derived output name should be.
const char *NamedOutput;
- if (JA.getType() == types::TY_Object &&
+ if ((JA.getType() == types::TY_Object || JA.getType() == types::TY_LTO_BC) &&
C.getArgs().hasArg(options::OPT__SLASH_Fo, options::OPT__SLASH_o)) {
// The /Fo or /o flag decides the object filename.
StringRef Val =
diff --git a/clang/test/Driver/cl-outputs.c b/clang/test/Driver/cl-outputs.c
index 437e173c22b..d79a577788b 100644
--- a/clang/test/Driver/cl-outputs.c
+++ b/clang/test/Driver/cl-outputs.c
@@ -9,6 +9,7 @@
// FoEMPTY: "-o" "cl-outputs.obj"
// RUN: %clang_cl /Foa -### -- %s 2>&1 | FileCheck -check-prefix=FoNAME %s
+// RUN: %clang_cl /Foa -flto -### -- %s 2>&1 | FileCheck -check-prefix=FoNAME %s
// FoNAME: "-o" "a.obj"
// RUN: %clang_cl /Foa.ext /Fob.ext -### -- %s 2>&1 | FileCheck -check-prefix=FoNAMEEXT %s
OpenPOWER on IntegriCloud