From: Daniel Dunbar Date: Fri, 11 Dec 2009 23:00:49 +0000 (+0000) Subject: Driver: Switch to using "clang" "-cc1" instead of "clang-cc". X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8ff5b28d6efcffe2251e77634c7edf83a4763344;p=clang Driver: Switch to using "clang" "-cc1" instead of "clang-cc". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91174 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/CC1Options.td b/include/clang/Driver/CC1Options.td index 9bf67d4c39..a024a7c040 100644 --- a/include/clang/Driver/CC1Options.td +++ b/include/clang/Driver/CC1Options.td @@ -187,6 +187,10 @@ def verify : Flag<"-verify">, // Frontend Options //===----------------------------------------------------------------------===// +// This isn't normally used, it is just here so we can parse a +// CompilerInvocation out of a driver-derived argument vector. +def cc1 : Flag<"-cc1">; + def code_completion_at : Separate<"-code-completion-at">, MetaVarName<"::">, HelpText<"Dump code-completion information at a location">; diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 983018b4a6..724a3b4a61 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -593,6 +593,11 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, assert(Inputs.size() == 1 && "Unable to handle multiple inputs."); + // Invoke ourselves in -cc1 mode. + // + // FIXME: Implement custom jobs for internal actions. + CmdArgs.push_back("-cc1"); + // Add the "effective" target triple. CmdArgs.push_back("-triple"); std::string TripleStr = getEffectiveClangTriple(D, getToolChain(), Args); @@ -1037,7 +1042,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, // Default to -fno-builtin-str{cat,cpy} on Darwin for ARM. // - // FIXME: This is disabled until clang-cc supports -fno-builtin-foo. PR4941. + // FIXME: This is disabled until clang -cc1 supports -fno-builtin-foo. PR4941. #if 0 if (getToolChain().getTriple().getOS() == llvm::Triple::Darwin && (getToolChain().getTriple().getArch() == llvm::Triple::arm || @@ -1087,7 +1092,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, Args.AddAllArgs(CmdArgs, options::OPT_undef); const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath(C, "clang-cc")); + Args.MakeArgString(getToolChain().GetProgramPath(C, "clang")); Dest.addCommand(new Command(JA, *this, Exec, CmdArgs)); // Explicitly warn that these options are unsupported, even though diff --git a/test/Driver/clang-translation.c b/test/Driver/clang-translation.c index f4f0f9f021..762ebb7944 100644 --- a/test/Driver/clang-translation.c +++ b/test/Driver/clang-translation.c @@ -17,7 +17,8 @@ // RUN: clang -ccc-host-triple x86_64-apple-darwin10 -### -S %s 2> %t.log \ // RUN: -arch armv7 // RUN: FileCheck -check-prefix=ARMV7_DEFAULT %s < %t.log -// ARMV7_DEFAULT: clang-cc +// ARMV7_DEFAULT: clang +// ARMV7_DEFAULT: "-cc1" // ARMV7_DEFAULT-NOT: "-msoft-float" // ARMV7_DEFAULT: "-mfloat-abi" "soft" // ARMV7_DEFAULT-NOT: "-msoft-float" @@ -26,7 +27,8 @@ // RUN: clang -ccc-host-triple x86_64-apple-darwin10 -### -S %s 2> %t.log \ // RUN: -arch armv7 -msoft-float // RUN: FileCheck -check-prefix=ARMV7_SOFTFLOAT %s < %t.log -// ARMV7_SOFTFLOAT: clang-cc +// ARMV7_SOFTFLOAT: clang +// ARMV7_SOFTFLOAT: "-cc1" // ARMV7_SOFTFLOAT: "-msoft-float" // ARMV7_SOFTFLOAT: "-mfloat-abi" "soft" // ARMV7_SOFTFLOAT: "-x" "c" @@ -34,7 +36,8 @@ // RUN: clang -ccc-host-triple x86_64-apple-darwin10 -### -S %s 2> %t.log \ // RUN: -arch armv7 -mhard-float // RUN: FileCheck -check-prefix=ARMV7_HARDFLOAT %s < %t.log -// ARMV7_HARDFLOAT: clang-cc +// ARMV7_HARDFLOAT: clang +// ARMV7_HARDFLOAT: "-cc1" // ARMV7_HARDFLOAT-NOT: "-msoft-float" // ARMV7_HARDFLOAT: "-mfloat-abi" "hard" // ARMV7_HARDFLOAT-NOT: "-msoft-float" diff --git a/test/Driver/cxx-pth.cpp b/test/Driver/cxx-pth.cpp index 508696ade8..e5b69c118f 100644 --- a/test/Driver/cxx-pth.cpp +++ b/test/Driver/cxx-pth.cpp @@ -3,10 +3,10 @@ // RUN: clang -x c++-header %s -### 2> %t.log // RUN: FileCheck -check-prefix EMIT -input-file %t.log %s -// EMIT: "{{.*}}/clang-cc{{.*}}" {{.*}} "-emit-pth" "{{.*}}.cpp.gch" "-x" "c++-header" "{{.*}}.cpp" +// EMIT: "{{.*}}/clang{{.*}}" {{.*}} "-emit-pth" "{{.*}}.cpp.gch" "-x" "c++-header" "{{.*}}.cpp" // RUN: touch %t.h.gch // RUN: clang -E -include %t.h %s -### 2> %t.log // RUN: FileCheck -check-prefix USE -input-file %t.log %s -// USE: "{{.*}}/clang-cc{{.*}}" {{.*}}"-include-pth" "{{.*}}.h.gch" {{.*}}"-x" "c++" "{{.*}}.cpp" +// USE: "{{.*}}/clang{{.*}}" {{.*}}"-include-pth" "{{.*}}.h.gch" {{.*}}"-x" "c++" "{{.*}}.cpp" diff --git a/test/Driver/dragonfly.c b/test/Driver/dragonfly.c index 40f12e4d7f..2eb3b1808e 100644 --- a/test/Driver/dragonfly.c +++ b/test/Driver/dragonfly.c @@ -1,7 +1,7 @@ // RUN: clang -ccc-host-triple amd64-pc-dragonfly %s -### 2> %t.log // RUN: FileCheck -input-file %t.log %s -// CHECK: clang-cc{{.*}}" "-triple" "amd64-pc-dragonfly" +// CHECK: clang{{.*}}" "-cc1" "-triple" "amd64-pc-dragonfly" // CHECK: as{{.*}}" "-o" "{{.*}}.o" "{{.*}}.s // CHECK: ld{{.*}}" "-dynamic-linker" "{{.*}}ld-elf.{{.*}}" "-o" "a.out" "{{.*}}crt1.o" "{{.*}}crti.o" "{{.*}}crtbegin.o" "{{.*}}.o" "-L{{.*}}/gcc{{.*}}" {{.*}} "-lc" "-lgcc" "{{.*}}crtend.o" "{{.*}}crtn.o" diff --git a/test/Driver/freebsd.c b/test/Driver/freebsd.c index 8c03bbcfe3..9700540f46 100644 --- a/test/Driver/freebsd.c +++ b/test/Driver/freebsd.c @@ -2,6 +2,6 @@ // RUN: cat %t.log // RUN: FileCheck -input-file %t.log %s -// CHECK: clang-cc{{.*}}" "-triple" "powerpc64-pc-freebsd8" +// CHECK: clang{{.*}}" "-cc1" "-triple" "powerpc64-pc-freebsd8" // CHECK: as{{.*}}" "-o" "{{.*}}.o" "{{.*}}.s // CHECK: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "{{.*}}ld-elf{{.*}}" "-o" "a.out" "{{.*}}crt1.o" "{{.*}}crti.o" "{{.*}}crtbegin.o" "{{.*}}.o" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "{{.*}}crtend.o" "{{.*}}crtn.o" diff --git a/test/Driver/hello.c b/test/Driver/hello.c index 0df1341e4e..e1b6f1a0fd 100644 --- a/test/Driver/hello.c +++ b/test/Driver/hello.c @@ -1,7 +1,7 @@ // RUN: clang -ccc-echo -o %t %s 2> %t.log // Make sure we used clang. -// RUN: grep 'clang-cc" .*hello.c' %t.log +// RUN: grep 'clang" -cc1 .*hello.c' %t.log // RUN: %t > %t.out // RUN: grep "I'm a little driver, short and stout." %t.out diff --git a/test/Driver/openbsd.c b/test/Driver/openbsd.c index 8b0706b28f..97ba30bb69 100644 --- a/test/Driver/openbsd.c +++ b/test/Driver/openbsd.c @@ -1,6 +1,6 @@ // RUN: clang -ccc-clang-archs "" -ccc-host-triple i686-pc-openbsd %s -### 2> %t.log // RUN: FileCheck -input-file %t.log %s -// CHECK: clang-cc{{.*}}" "-triple" "i686-pc-openbsd" +// CHECK: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd" // CHECK: as{{.*}}" "-o" "{{.*}}.o" "{{.*}}.s // CHECK: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" "{{.*}}.o" "-lgcc" "-lc" "-lgcc" "{{.*}}crtend.o" diff --git a/test/Driver/pth.c b/test/Driver/pth.c index 8e8b2dda32..938675a900 100644 --- a/test/Driver/pth.c +++ b/test/Driver/pth.c @@ -3,10 +3,10 @@ // RUN: clang -ccc-pch-is-pth -x c-header %s -o %t.h.pth -### 2> %t.log // RUN: FileCheck -check-prefix CHECK1 -input-file %t.log %s -// CHECK1: "{{.*}}/clang-cc{{.*}}" {{.*}} "-o" "{{.*}}.h.pth" "-x" "c-header" "{{.*}}pth.c" +// CHECK1: "{{.*}}/clang{{.*}}" "-cc1" {{.*}} "-o" "{{.*}}.h.pth" "-x" "c-header" "{{.*}}pth.c" // RUN: touch %t.h.pth // RUN: clang -ccc-pch-is-pth -E -include %t.h %s -### 2> %t.log // RUN: FileCheck -check-prefix CHECK2 -input-file %t.log %s -// CHECK2: "{{.*}}/clang-cc{{.*}}" {{.*}}"-include-pth" "{{.*}}.h.pth" {{.*}}"-x" "c" "{{.*}}pth.c" +// CHECK2: "{{.*}}/clang{{.*}}" "-cc1" {{.*}}"-include-pth" "{{.*}}.h.pth" {{.*}}"-x" "c" "{{.*}}pth.c"