Switch the driver back to always using clang-cc by default (for C++, and
authorDaniel Dunbar <daniel@zuster.org>
Thu, 23 Jul 2009 17:48:59 +0000 (17:48 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 23 Jul 2009 17:48:59 +0000 (17:48 +0000)
regardless of the architecture).
 - This is a good default for development & testing; for example without this
   any tests using 'clang' in the test suite will fail on PowerPC, since the
   driver will avoid using clang.

 - We don't want to actually ship something built this way, but that should be
   handled via some sort of configuration file.

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

lib/Driver/Driver.cpp
test/Driver/bindings.c

index c4136df56bf78c6f054dbe025409a973232ee798..8adeb02b901dcc03330432a2cb81734657888176 100644 (file)
@@ -46,13 +46,10 @@ Driver::Driver(const char *_Name, const char *_Dir,
     DefaultImageName(_DefaultImageName),
     Host(0),
     CCCIsCXX(false), CCCEcho(false), CCCPrintBindings(false),
-    CCCGenericGCCName("gcc"), CCCUseClang(true), CCCUseClangCXX(false), 
+    CCCGenericGCCName("gcc"), CCCUseClang(true), CCCUseClangCXX(true), 
     CCCUseClangCPP(true), CCCUsePCH(true),
     SuppressMissingInputWarning(false)
 {
-  // Only use clang on i386 and x86_64 by default.
-  CCCClangArchs.insert("i386");
-  CCCClangArchs.insert("x86_64");
 }
 
 Driver::~Driver() {
@@ -144,6 +141,8 @@ Compilation *Driver::BuildCompilation(int argc, const char **argv) {
 
     } else if (!strcmp(Opt, "clang-cxx")) {
       CCCUseClangCXX = true;
+    } else if (!strcmp(Opt, "no-clang-cxx")) {
+      CCCUseClangCXX = false;
     } else if (!strcmp(Opt, "pch-is-pch")) {
       CCCUsePCH = true;
     } else if (!strcmp(Opt, "pch-is-pth")) {
index 3cac22c94be3c949800a45a5aeffb3ec4939d3a9..3d0bf35c1e16856f4d782d773a25da8d3fa51191 100644 (file)
@@ -30,7 +30,7 @@
 // RUN: grep '"clang", inputs: \[".*bindings.c"\], output: (nothing)' %t &&
 // RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -fsyntax-only %s 2> %t &&
 // RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: (nothing)' %t &&
-// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -fsyntax-only -x c++ %s 2> %t &&
+// RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang-cxx -fsyntax-only -x c++ %s 2> %t &&
 // RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: (nothing)' %t &&
 // RUN: clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-clang-cxx -fsyntax-only -x c++ %s 2> %t &&
 // RUN: grep '"clang", inputs: \[".*bindings.c"\], output: (nothing)' %t &&
@@ -44,7 +44,7 @@
 
 // RUN: clang -ccc-host-triple powerpc-unknown-unknown -ccc-print-bindings -ccc-clang-archs "" %s -S 2> %t &&
 // RUN: grep '"clang", inputs: \[".*bindings.c"\], output: "bindings.s"' %t &&
-// RUN: clang -ccc-host-triple powerpc-unknown-unknown -ccc-print-bindings %s -S 2> %t &&
+// RUN: clang -ccc-host-triple powerpc-unknown-unknown -ccc-print-bindings -ccc-clang-archs "i386" %s -S 2> %t &&
 // RUN: grep '"gcc::Compile", inputs: \[".*bindings.c"\], output: "bindings.s"' %t &&
 
 // Darwin bindings