summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2013-09-05 17:05:56 +0000
committerHans Wennborg <hans@hanshq.net>2013-09-05 17:05:56 +0000
commit0a096a0a3b166de80a4caaff2f64b508cffcd057 (patch)
tree1adf08af92ac337728025442f77cc977a3b368ce
parent2a1eb4318d6e26a33244feaa9790cc9c3df642d0 (diff)
downloadbcm5719-llvm-0a096a0a3b166de80a4caaff2f64b508cffcd057.tar.gz
bcm5719-llvm-0a096a0a3b166de80a4caaff2f64b508cffcd057.zip
clang-cl: Use .obj as extension for unnamed object files (PR17095)
We already use .obj as extension when the user provides a stem file name (via /Fo), but were failing in the most basic case when the file name is based on the input file. llvm-svn: 190071
-rw-r--r--clang/lib/Driver/Driver.cpp2
-rw-r--r--clang/test/Driver/cl-outputs.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 87e1e2333fc..1f2915ae32f 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -1670,7 +1670,7 @@ const char *Driver::GetNamedOutputPath(Compilation &C,
} else
NamedOutput = DefaultImageName.c_str();
} else {
- const char *Suffix = types::getTypeTempSuffix(JA.getType());
+ const char *Suffix = types::getTypeTempSuffix(JA.getType(), IsCLMode());
assert(Suffix && "All types used for output should have a suffix.");
std::string::size_type End = std::string::npos;
diff --git a/clang/test/Driver/cl-outputs.c b/clang/test/Driver/cl-outputs.c
index befff29527c..4a8fc5ca491 100644
--- a/clang/test/Driver/cl-outputs.c
+++ b/clang/test/Driver/cl-outputs.c
@@ -4,6 +4,9 @@
// Note: %s must be preceded by --, otherwise it may be interpreted as a
// command-line option, e.g. on Mac where %s is commonly under /Users.
+// RUN: %clang_cl /c -### -- %s 2>&1 | FileCheck -check-prefix=DEFAULT %s
+// DEFAULT: "-o" "cl-outputs.obj"
+
// RUN: %clang_cl /Foa -### -- %s 2>&1 | FileCheck -check-prefix=FoNAME %s
// FoNAME: "-o" "a.obj"
OpenPOWER on IntegriCloud