clang-cl: Use the .obj file extension also in LTO mode
authorHans Wennborg <hans@hanshq.net>
Tue, 4 Oct 2016 21:01:02 +0000 (21:01 +0000)
committerHans Wennborg <hans@hanshq.net>
Tue, 4 Oct 2016 21:01:02 +0000 (21:01 +0000)
llvm-svn: 283257

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

index 3a74649..d456829 100644 (file)
@@ -53,12 +53,19 @@ types::ID types::getPrecompiledType(ID Id) {
 }
 
 const char *types::getTypeTempSuffix(ID Id, bool CLMode) {
-  if (Id == TY_Object && CLMode)
-    return "obj";
-  if (Id == TY_Image && CLMode)
-    return "exe";
-  if (Id == TY_PP_Asm && CLMode)
-    return "asm";
+  if (CLMode) {
+    switch (Id) {
+    case TY_Object:
+    case TY_LTO_BC:
+      return "obj";
+    case TY_Image:
+      return "exe";
+    case TY_PP_Asm:
+      return "asm";
+    default:
+      break;
+    }
+  }
   return getInfo(Id).TempSuffix;
 }
 
index bf6b431..437e173 100644 (file)
@@ -2,6 +2,7 @@
 // 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
+// RUN: %clang_cl /c -flto -### -- %s 2>&1 | FileCheck -check-prefix=DEFAULT %s
 // DEFAULT: "-o" "cl-outputs.obj"
 
 // RUN: %clang_cl /Fo -### -- %s 2>&1 | FileCheck -check-prefix=FoEMPTY %s