diff --git a/clang/lib/Driver/ToolChains/AIX.h b/clang/lib/Driver/ToolChains/AIX.h --- a/clang/lib/Driver/ToolChains/AIX.h +++ b/clang/lib/Driver/ToolChains/AIX.h @@ -68,6 +68,7 @@ } bool isPICDefaultForced() const override { return true; } bool HasNativeLLVMSupport() const override { return true; } + bool IsIntegratedAssemblerDefault() const override { return true; } void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, diff --git a/clang/test/Driver/aix-as.c b/clang/test/Driver/aix-as.c --- a/clang/test/Driver/aix-as.c +++ b/clang/test/Driver/aix-as.c @@ -11,7 +11,7 @@ // RUN: | FileCheck --check-prefix=CHECK-AS32 %s // Check powerpc-ibm-aix7.1.0.0, 32-bit. -// RUN: %clang %s -### -c 2>&1 \ +// RUN: %clang %s -### -c -fno-integrated-as 2>&1 \ // RUN: --target=powerpc-ibm-aix7.1.0.0 \ // RUN: | FileCheck --check-prefixes=CHECK-AS32,CHECK-AS32-CC1 %s // CHECK-AS32-NOT: warning: @@ -30,7 +30,7 @@ // RUN: | FileCheck --check-prefix=CHECK-AS64 %s // Check powerpc64-ibm-aix7.1.0.0, 64-bit. -// RUN: %clang %s -### -c 2>&1 \ +// RUN: %clang %s -### -c -fno-integrated-as 2>&1 \ // RUN: --target=powerpc64-ibm-aix7.1.0.0 \ // RUN: | FileCheck --check-prefixes=CHECK-AS64,CHECK-AS64-CC1 %s // CHECK-AS64-NOT: warning: @@ -40,7 +40,7 @@ // CHECK-AS64: "-many" // Check powerpc-ibm-aix7.1.0.0, 32-bit. -Xassembler option. -// RUN: %clang %s -### -c 2>&1 \ +// RUN: %clang %s -### -c -fno-integrated-as 2>&1 \ // RUN: -Xassembler -w \ // RUN: --target=powerpc-ibm-aix7.1.0.0 \ // RUN: | FileCheck --check-prefix=CHECK-AS32-Xassembler %s @@ -52,7 +52,7 @@ // CHECK-AS32-Xassembler: "-w" // Check powerpc64-ibm-aix7.1.0.0, 64-bit. -Wa,, option. -// RUN: %clang %s -### -c 2>&1 \ +// RUN: %clang %s -### -c -fno-integrated-as 2>&1 \ // RUN: -Wa,-v,-w \ // RUN: --target=powerpc64-ibm-aix7.1.0.0 \ // RUN: | FileCheck --check-prefix=CHECK-AS64-Wa %s @@ -65,7 +65,7 @@ // CHECK-AS64-Wa: "-w" // Check powerpc-ibm-aix7.1.0.0, 32-bit. Multiple input files. -// RUN: %clang -### -c \ +// RUN: %clang -### -fno-integrated-as -c \ // RUN: %S/Inputs/aix_ppc_tree/dummy0.s \ // RUN: %S/Inputs/aix_ppc_tree/dummy1.s \ // RUN: %S/Inputs/aix_ppc_tree/dummy2.s 2>&1 \ @@ -85,8 +85,8 @@ // Check not passing no-integrated-as flag by default. // RUN: %clang %s -### -c 2>&1 --target=powerpc64-ibm-aix7.1.0.0 \ // RUN: | FileCheck --check-prefix=CHECK-IAS --implicit-check-not=-no-integrated-as %s +// CHECK-IAS-NOT: "-a64" // CHECK-IAS: InstalledDir -// CHECK-IAS: "-a64" // Check passing no-integrated-as flag if specified by user. // RUN: %clang %s -### -c 2>&1 --target=powerpc64-ibm-aix7.1.0.0 -fno-integrated-as \ diff --git a/clang/test/Driver/aix-integrated-as.c b/clang/test/Driver/aix-integrated-as.c new file mode 100644 --- /dev/null +++ b/clang/test/Driver/aix-integrated-as.c @@ -0,0 +1,15 @@ +// Test integrated-as is called by default on AIX. + +// Check powerpc-ibm-aix7.1.0.0, 32-bit. +// RUN: %clang %s -### -c 2>&1 \ +// RUN: --target=powerpc-ibm-aix7.1.0.0 \ +// RUN: | FileCheck --check-prefix=CHECK-IAS32 %s +// CHECK-IAS32-NOT: "-a32" +// CHECK-IAS32: "-cc1" "-triple" "powerpc-ibm-aix7.1.0.0" "-emit-obj" + +// Check powerpc64-ibm-aix7.1.0.0, 64-bit. +// RUN: %clang %s -### -c 2>&1 \ +// RUN: --target=powerpc64-ibm-aix7.1.0.0 \ +// RUN: | FileCheck --check-prefix=CHECK-IAS64 %s +// CHECK-IAS64-NOT: "-a64" +// CHECK-IAS64: "-cc1" "-triple" "powerpc64-ibm-aix7.1.0.0" "-emit-obj"