diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index e5528f0a646b..8888ba138d2b 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -1594,7 +1594,7 @@ Tool *Generic_GCC::getTool(Action::ActionClass AC) const { } Tool *Generic_GCC::buildAssembler() const { - return new tools::gcc::Assemble(*this); + return new tools::gnutools::Assemble(*this); } Tool *Generic_GCC::buildLinker() const { diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index bf35463066d7..2742332d6685 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -4285,11 +4285,6 @@ void gcc::Compile::RenderExtraToolArgs(const JobAction &JA, } } -void gcc::Assemble::RenderExtraToolArgs(const JobAction &JA, - ArgStringList &CmdArgs) const { - CmdArgs.push_back("-c"); -} - void gcc::Link::RenderExtraToolArgs(const JobAction &JA, ArgStringList &CmdArgs) const { // The types are (hopefully) good enough. diff --git a/clang/lib/Driver/Tools.h b/clang/lib/Driver/Tools.h index d5b2848c9b01..260b8c7ccce6 100644 --- a/clang/lib/Driver/Tools.h +++ b/clang/lib/Driver/Tools.h @@ -163,17 +163,6 @@ namespace gcc { llvm::opt::ArgStringList &CmdArgs) const; }; - class LLVM_LIBRARY_VISIBILITY Assemble : public Common { - public: - Assemble(const ToolChain &TC) : Common("gcc::Assemble", - "assembler (via gcc)", TC) {} - - virtual bool hasIntegratedCPP() const { return false; } - - virtual void RenderExtraToolArgs(const JobAction &JA, - llvm::opt::ArgStringList &CmdArgs) const; - }; - class LLVM_LIBRARY_VISIBILITY Link : public Common { public: Link(const ToolChain &TC) : Common("gcc::Link", diff --git a/clang/test/Driver/bindings.c b/clang/test/Driver/bindings.c index d25fc8f8afd6..174a2650e5db 100644 --- a/clang/test/Driver/bindings.c +++ b/clang/test/Driver/bindings.c @@ -1,7 +1,7 @@ // Basic binding. // RUN: %clang -target i386-unknown-unknown -ccc-print-bindings %s 2>&1 | FileCheck %s --check-prefix=CHECK01 // CHECK01: "clang", inputs: ["{{.*}}bindings.c"], output: "{{.*}}.s" -// CHECK01: "gcc::Assemble", inputs: ["{{.*}}.s"], output: "{{.*}}.o" +// CHECK01: "GNU::Assemble", inputs: ["{{.*}}.s"], output: "{{.*}}.o" // CHECK01: "gcc::Link", inputs: ["{{.*}}.o"], output: "a.out" // Clang control options diff --git a/clang/test/Driver/gcc_forward.c b/clang/test/Driver/gcc_forward.c index b9933d7fb376..3bc413193f16 100644 --- a/clang/test/Driver/gcc_forward.c +++ b/clang/test/Driver/gcc_forward.c @@ -13,19 +13,8 @@ // CHECK: "-Wall" "-Wdocumentation" // CHECK: "-o" "{{[^"]+}}.s" // -// gcc-as -// CHECK: gcc{{[^"]*}}" -// CHECK-NOT: "-mlinker-version=10" -// CHECK-NOT: "-Xclang" -// CHECK-NOT: "foo-bar" -// CHECK-NOT: "-Wall" -// CHECK-NOT: "-Wdocumentation" -// CHECK: -march -// CHECK-NOT: "-mlinker-version=10" -// CHECK-NOT: "-Xclang" -// CHECK-NOT: "foo-bar" -// CHECK-NOT: "-Wall" -// CHECK-NOT: "-Wdocumentation" +// gnu-as +// CHECK: as{{[^"]*}}" // CHECK: "-o" "{{[^"]+}}.o" // // gcc-ld diff --git a/clang/test/Driver/target.c b/clang/test/Driver/target.c index b400f990fb1b..a46ba16296a7 100644 --- a/clang/test/Driver/target.c +++ b/clang/test/Driver/target.c @@ -4,12 +4,6 @@ // Ensure we get a crazy triple here as we asked for one. // CHECK: Target: unknown-unknown-unknown // -// Also, ensure we don't blindly hand our target selection logic down to GCC. -// CHECK: "{{.*gcc(\.[Ee][Xx][Ee])?}}" -// CHECK-NOT: "-target" -// CHECK-NOT: "unknown-unknown-unknown" -// CHECK: "-x" "assembler" -// // Also check that the legacy spelling works. // RUN: %clang -no-canonical-prefixes -target unknown-unknown-unknown -c %s \ // RUN: -o %t.o -### 2>&1 | FileCheck %s diff --git a/clang/test/Driver/unknown-gcc-arch.c b/clang/test/Driver/unknown-gcc-arch.c index dcd17d4f467a..b03944c6a7bf 100644 --- a/clang/test/Driver/unknown-gcc-arch.c +++ b/clang/test/Driver/unknown-gcc-arch.c @@ -1,32 +1,32 @@ // RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### 2>&1 \ // RUN: | FileCheck -check-prefix=X86_64 %s -// X86_64: {{.*gcc.*-m64}} +// 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 -// X86_64-M32: {{.*gcc.*-m32}} +// X86_64-M32: {{.*as.*--32}} // RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### 2>&1 \ // RUN: | FileCheck -check-prefix=I386 %s -// I386: {{.*gcc.*-m32}} +// I386: {{.*as.*--32}} // RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### -m64 2>&1 \ // RUN: | FileCheck -check-prefix=I386-M64 %s -// I386-M64: {{.*gcc.*-m64}} +// I386-M64: {{.*as.*--64}} // RUN: %clang -target powerpc64-unknown-unknown -c -x assembler %s -### 2>&1 \ // RUN: | FileCheck -check-prefix=PPC64 %s -// PPC64: {{.*gcc.*-m64}} +// PPC64: {{.*as.*-a64}} // RUN: %clang -target powerpc64-unknown-unknown -c -x assembler %s -### -m32 2>&1 \ // RUN: | FileCheck -check-prefix=PPC64-M32 %s -// PPC64-M32: {{.*gcc.*-m32}} +// PPC64-M32: {{.*as.*-a32}} // RUN: %clang -target powerpc-unknown-unknown -c -x assembler %s -### 2>&1 \ // RUN: | FileCheck -check-prefix=PPC %s -// PPC: {{.*gcc.*-m32}} +// PPC: {{.*as.*-a32}} // RUN: %clang -target powerpc-unknown-unknown -c -x assembler %s -### -m64 2>&1 \ // RUN: | FileCheck -check-prefix=PPC-M64 %s -// PPC-M64: {{.*gcc.*-m64}} +// PPC-M64: {{.*as.*-a64}}