]> granicus.if.org Git - clang/commitdiff
Make the integrated assembler the default for cygwin/mingw too.
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 25 Nov 2013 18:50:53 +0000 (18:50 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 25 Nov 2013 18:50:53 +0000 (18:50 +0000)
The integrated assembler was already the default for win32. It is now able
to handle a clang bootstrap on mingw, so make it the default.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195676 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/ToolChains.cpp
lib/Driver/ToolChains.h
test/Driver/bindings.c
test/Driver/unknown-gcc-arch.c

index d9ad587a0f1c37e60eb890480ccf2403fe2c1b4f..09afc1e02ee2cf821546a9fdd9c9799462e772c5 100644 (file)
@@ -1612,6 +1612,11 @@ bool Generic_GCC::isPICDefaultForced() const {
   return false;
 }
 
+bool Generic_GCC::IsIntegratedAssemblerDefault() const {
+  return getTriple().getArch() == llvm::Triple::x86 ||
+    getTriple().getArch() == llvm::Triple::x86_64;
+}
+
 /// Hexagon Toolchain
 
 std::string Hexagon_TC::GetGnuDir(const std::string &InstalledDir) {
index ed5c1ac202564d1b4b3bda012a34a6b7b4178593..cf7be5436d7a6561c5e226db41bfca15566b056c 100644 (file)
@@ -164,6 +164,7 @@ public:
   virtual bool isPICDefault() const;
   virtual bool isPIEDefault() const;
   virtual bool isPICDefaultForced() const;
+  virtual bool IsIntegratedAssemblerDefault() const;
 
 protected:
   virtual Tool *getTool(Action::ActionClass AC) const;
@@ -414,10 +415,9 @@ public:
       : Generic_GCC(D, Triple, Args) {}
 
   virtual bool IsIntegratedAssemblerDefault() const {
-    // Default integrated assembler to on for x86.
-    return (getTriple().getArch() == llvm::Triple::aarch64 ||
-            getTriple().getArch() == llvm::Triple::x86 ||
-            getTriple().getArch() == llvm::Triple::x86_64);
+    if (getTriple().getArch() == llvm::Triple::aarch64)
+      return true;
+    return Generic_GCC::IsIntegratedAssemblerDefault();
   }
 };
 
index 174a2650e5dbf9ed9446351dafb93d2152ea5934..dd8ad14f6725e6b21a5df21dc8349976cc671c6d 100644 (file)
@@ -1,5 +1,5 @@
 // Basic binding.
-// RUN: %clang -target i386-unknown-unknown -ccc-print-bindings %s 2>&1 | FileCheck %s --check-prefix=CHECK01
+// RUN: %clang -target i386-unknown-unknown -ccc-print-bindings -no-integrated-as %s 2>&1 | FileCheck %s --check-prefix=CHECK01
 // CHECK01: "clang", inputs: ["{{.*}}bindings.c"], output: "{{.*}}.s"
 // CHECK01: "GNU::Assemble", inputs: ["{{.*}}.s"], output: "{{.*}}.o"
 // CHECK01: "gcc::Link", inputs: ["{{.*}}.o"], output: "a.out"
index b03944c6a7bf46993c136381c1abf2e3eb30eee4..184443b08cb7fa5da288ec281a3ec6fb943a853f 100644 (file)
@@ -1,17 +1,17 @@
-// RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### 2>&1 \
-// RUN:   | FileCheck -check-prefix=X86_64 %s
+// RUN: %clang -target x86_64-unknown-unknown -no-integrated-as -c \
+// RUN: -x assembler %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s
 // X86_64: {{.*as.*--64}}
 
-// RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### -m32 2>&1 \
-// RUN:   | FileCheck -check-prefix=X86_64-M32 %s
+// RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### -m32 \
+// RUN -no-integrated-as 2>&1 | FileCheck -check-prefix=X86_64-M32 %s
 // X86_64-M32: {{.*as.*--32}}
 
-// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### 2>&1 \
-// RUN:   | FileCheck -check-prefix=I386 %s
+// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### \
+// RUN: -no-integrated-as 2>&1| FileCheck -check-prefix=I386 %s
 // I386: {{.*as.*--32}}
 
-// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### -m64 2>&1 \
-// RUN:   | FileCheck -check-prefix=I386-M64 %s
+// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### -m64 \
+// RUN: -no-integrated-as 2>&1 | FileCheck -check-prefix=I386-M64 %s
 // I386-M64: {{.*as.*--64}}