clang-cl: Use .obj as extension for unnamed object files (PR17095)
authorHans Wennborg <hans@hanshq.net>
Thu, 5 Sep 2013 17:05:56 +0000 (17:05 +0000)
committerHans Wennborg <hans@hanshq.net>
Thu, 5 Sep 2013 17:05:56 +0000 (17:05 +0000)
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

clang/lib/Driver/Driver.cpp
clang/test/Driver/cl-outputs.c

index 87e1e23..1f2915a 100644 (file)
@@ -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;
index befff29..4a8fc5c 100644 (file)
@@ -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"