diff --git a/include/clang/Driver/Driver.h b/include/clang/Driver/Driver.h index a55c4f0b1dfa..fa83c374c2ed 100644 --- a/include/clang/Driver/Driver.h +++ b/include/clang/Driver/Driver.h @@ -146,9 +146,6 @@ class Driver { /// jobs. unsigned CheckInputsExist : 1; - /// Use the clang compiler where possible. - unsigned CCCUseClang : 1; - /// \brief Force use of clang frontend. unsigned ForcedClangUse : 1; diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index 237bf4fc79e4..383c0c1ae5ae 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -91,8 +91,6 @@ def ccc_echo : Flag<["-"], "ccc-echo">, CCCDriverOpt, def ccc_gcc_name : Separate<["-"], "ccc-gcc-name">, CCCDriverOpt, HelpText<"Name for native GCC compiler">, MetaVarName<"">; -def ccc_no_clang : Flag<["-"], "ccc-no-clang">, CCCDriverOpt, - HelpText<"Disable the clang compiler">; def ccc_clang_archs : Separate<["-"], "ccc-clang-archs">, CCCDriverOpt, HelpText<"Comma separate list of architectures to use the clang compiler for">, MetaVarName<"">; diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index d2aacabac9b0..eeb59e854dad 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -58,7 +58,6 @@ Driver::Driver(StringRef ClangExecutable, CCCIsCPP(false),CCCEcho(false), CCCPrintBindings(false), CCPrintOptions(false), CCPrintHeaders(false), CCLogDiagnostics(false), CCGenDiagnostics(false), CCCGenericGCCName(""), CheckInputsExist(true), - CCCUseClang(true), ForcedClangUse(false), CCCUsePCH(true), SuppressMissingInputWarning(false) { Name = llvm::sys::path::stem(ClangExecutable); @@ -277,7 +276,6 @@ Compilation *Driver::BuildCompilation(ArrayRef ArgList) { CCCGenericGCCName = A->getValue(*Args); CCCUsePCH = Args->hasFlag(options::OPT_ccc_pch_is_pch, options::OPT_ccc_pch_is_pth); - CCCUseClang = !Args->hasArg(options::OPT_ccc_no_clang); // FIXME: DefaultTargetTriple is used by the target-prefixed calls to as/ld // and getToolChain is const. if (const Arg *A = Args->getLastArg(options::OPT_target)) @@ -1780,7 +1778,7 @@ bool Driver::ShouldUseClangCompiler(const Compilation &C, const JobAction &JA, const llvm::Triple &Triple) const { // Check if user requested no clang, or clang doesn't understand this type (we // only handle single inputs for now). - if (!CCCUseClang || JA.size() != 1 || + if (JA.size() != 1 || !types::isAcceptedByClang((*JA.begin())->getType())) return false; diff --git a/test/Driver/arm-darwin-builtin.c b/test/Driver/arm-darwin-builtin.c index 41f13f3f7c23..be50b6898729 100644 --- a/test/Driver/arm-darwin-builtin.c +++ b/test/Driver/arm-darwin-builtin.c @@ -8,7 +8,7 @@ // RUX: not grep -- "-fno-builtin-strcat" %t && // RUX: not grep -- "-fno-builtin-strcpy" %t && -// RUN: %clang -ccc-no-clang -target x86_64-apple-darwin9 -arch arm -### -fsyntax-only %s -fbuiltin-strcat -fbuiltin-strcpy 2> %t +// RUN: %clang -target x86_64-apple-darwin9 -arch arm -### -fsyntax-only %s -fbuiltin-strcat -fbuiltin-strcpy 2> %t // RUN: not grep -- "-fno-builtin-strcat" %t // RUN: not grep -- "-fno-builtin-strcpy" %t diff --git a/test/Driver/bindings.c b/test/Driver/bindings.c index 8a6193516432..d25fc8f8afd6 100644 --- a/test/Driver/bindings.c +++ b/test/Driver/bindings.c @@ -4,28 +4,11 @@ // CHECK01: "gcc::Assemble", inputs: ["{{.*}}.s"], output: "{{.*}}.o" // CHECK01: "gcc::Link", inputs: ["{{.*}}.o"], output: "a.out" -// RUN: %clang -target i386-unknown-unknown -ccc-print-bindings -ccc-no-clang %s 2>&1 | FileCheck %s --check-prefix=CHECK02 -// CHECK02: "gcc::Compile", inputs: ["{{.*}}bindings.c"], output: "{{.*}}.s" -// CHECK02: "gcc::Assemble", inputs: ["{{.*}}.s"], output: "{{.*}}.o" -// CHECK02: "gcc::Link", inputs: ["{{.*}}.o"], output: "a.out" - -// RUN: %clang -target i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -no-integrated-cpp %s 2>&1 | FileCheck %s --check-prefix=CHECK03 -// CHECK03: "gcc::Preprocess", inputs: ["{{.*}}bindings.c"], output: "{{.*}}.i" -// CHECK03: "gcc::Compile", inputs: ["{{.*}}.i"], output: "{{.*}}.s" -// CHECK03: "gcc::Assemble", inputs: ["{{.*}}.s"], output: "{{.*}}.o" -// CHECK03: "gcc::Link", inputs: ["{{.*}}.o"], output: "a.out" - -// RUN: %clang -target i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -x c-header %s 2>&1 | FileCheck %s --check-prefix=CHECK04 -// CHECK04: "gcc::Precompile", inputs: ["{{.*}}bindings.c"], output: "{{.*}}bindings.c.gch - // Clang control options // RUN: %clang -target i386-unknown-unknown -ccc-print-bindings -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix=CHECK05 // CHECK05: "clang", inputs: ["{{.*}}bindings.c"], output: (nothing) -// RUN: %clang -target i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix=CHECK06 -// CHECK06: "gcc::Compile", inputs: ["{{.*}}bindings.c"], output: (nothing) - // RUN: %clang -target i386-unknown-unknown -ccc-print-bindings -fsyntax-only -x c++ %s 2>&1 | FileCheck %s --check-prefix=CHECK08 // CHECK08: "clang", inputs: ["{{.*}}bindings.c"], output: (nothing) diff --git a/test/Driver/darwin-cc.c b/test/Driver/darwin-cc.c deleted file mode 100644 index 85cdf12fb19f..000000000000 --- a/test/Driver/darwin-cc.c +++ /dev/null @@ -1,4 +0,0 @@ -// RUN: %clang -ccc-no-clang -target i386-apple-darwin10 -m32 -### -MD -g -fast -Q -dA -mkernel -ansi -aFOO -S -o /tmp/OUTPUTNAME -g0 -gfull -O2 -Werror -pedantic -Wmost -w -std=c99 -trigraphs -v -pg -fFOO -undef -Qn --param a=b -fmudflap -coverage -save-temps -nostdinc -I ARG0 -F ARG1 -I ARG2 -P -MF ARG3 -MG -MP -remap -g3 -H -D ARG4 -U ARG5 -A ARG6 -D ARG7 -U ARG8 -A ARG9 -include ARG10 -pthread %s 2> %t.log -// RUN: FileCheck %s < %t.log -// CHECK: {{ ".*cc1.*" "-E" "-nostdinc" "-v" "-I" "ARG0" "-FARG1" "-I" "ARG2" "-P" "-MD" "[^"]*/OUTPUTNAME.d" "-MF" "ARG3" "-MG" "-MP" "-MQ" "[^"]*/OUTPUTNAME" "-remap" "-dD" "-H" "-D__STATIC__" "-D_REENTRANT" "-D" "ARG4" "-U" "ARG5" "-A" "ARG6" "-D" "ARG7" "-U" "ARG8" "-A" "ARG9" "-include" "ARG10" ".*darwin-cc.c" "-D_MUDFLAP" "-include" "mf-runtime.h" "-m32" "-mkernel" "-mtune=core2" "-mmacosx-version-min=10.6.0" "-ansi" "-std=c99" "-trigraphs" "-Werror" "-pedantic" "-Wmost" "-w" "-fast" "-fno-eliminate-unused-debug-symbols" "-fFOO" "-fmudflap" "-O2" "-undef" "-fpch-preprocess" "-o" ".*darwin-cc.i"}} -// CHECK: {{ ".*cc1.*" "-fpreprocessed" ".*darwin-cc.i" "-O3" "-dumpbase" ".*darwin-cc.c" "-dA" "-m32" "-mkernel" "-mtune=core2" "-mmacosx-version-min=10.6.0" "-ansi" "-aFOO" "-auxbase-strip" "[^"]*/OUTPUTNAME" "-g" "-g0" "-g" "-g3" "-O2" "-Werror" "-pedantic" "-Wmost" "-w" "-ansi" "-std=c99" "-trigraphs" "-version" "-p" "-fast" "-fno-eliminate-unused-debug-symbols" "-fFOO" "-fmudflap" "-undef" "-fno-ident" "-o" "[^"]*/OUTPUTNAME" "--param" "a=b" "-fno-builtin" "-fno-merge-constants" "-fprofile-arcs" "-ftest-coverage"}} diff --git a/test/Driver/rewrite-legacy-objc.m b/test/Driver/rewrite-legacy-objc.m index d243c7a15b39..a76175f68a53 100644 --- a/test/Driver/rewrite-legacy-objc.m +++ b/test/Driver/rewrite-legacy-objc.m @@ -5,11 +5,3 @@ // FIXME: CHECK-NOT is broken somehow, it doesn't work here. Check adjacency instead. // TEST0: "-fmessage-length" "0" "-stack-protector" "1" "-mstackrealign" "-fblocks" "-fobjc-runtime=macosx-fragile" "-fobjc-default-synthesize-properties" "-fno-objc-infer-related-result-type" "-fobjc-exceptions" "-fexceptions" "-fdiagnostics-show-option" // TEST0: rewrite-legacy-objc.m" - -// RUN: not %clang -ccc-no-clang -target unknown -rewrite-legacy-objc %s -o - -### 2>&1 | \ -// RUN: FileCheck -check-prefix=TEST1 %s -// TEST1: invalid output type 'rewritten-legacy-objc' for use with gcc - -// RUN: not %clang -ccc-no-clang -target i386-apple-darwin10 -rewrite-legacy-objc %s -o - -### 2>&1 | \ -// RUN: FileCheck -check-prefix=TEST2 %s -// TEST2: invalid output type 'rewritten-legacy-objc' for use with gcc diff --git a/test/Driver/rewrite-objc.m b/test/Driver/rewrite-objc.m index 9ed322fb404a..ca578cf40e5c 100644 --- a/test/Driver/rewrite-objc.m +++ b/test/Driver/rewrite-objc.m @@ -4,11 +4,3 @@ // TEST0: "-rewrite-objc" // FIXME: CHECK-NOT is broken somehow, it doesn't work here. Check adjacency instead. // TEST0: "-fmessage-length" "0" "-stack-protector" "1" "-mstackrealign" "-fblocks" "-fobjc-runtime=macosx" "-fobjc-dispatch-method=mixed" "-fobjc-default-synthesize-properties" "-fno-objc-infer-related-result-type" "-fobjc-exceptions" "-fexceptions" "-fdiagnostics-show-option" - -// RUN: not %clang -ccc-no-clang -target unknown -rewrite-objc %s -o - -### 2>&1 | \ -// RUN: FileCheck -check-prefix=TEST1 %s -// TEST1: invalid output type 'rewritten-objc' for use with gcc - -// RUN: not %clang -ccc-no-clang -target i386-apple-darwin10 -rewrite-objc %s -o - -### 2>&1 | \ -// RUN: FileCheck -check-prefix=TEST2 %s -// TEST2: invalid output type 'rewritten-objc' for use with gcc