From: Daniel Dunbar Date: Thu, 23 Jul 2009 17:48:59 +0000 (+0000) Subject: Switch the driver back to always using clang-cc by default (for C++, and X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dfaf4b3ac898bc40d928af693990769e98738793;p=clang Switch the driver back to always using clang-cc by default (for C++, and 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 --- diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index c4136df56b..8adeb02b90 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -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")) { diff --git a/test/Driver/bindings.c b/test/Driver/bindings.c index 3cac22c94b..3d0bf35c1e 100644 --- a/test/Driver/bindings.c +++ b/test/Driver/bindings.c @@ -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