diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-09-22 22:31:13 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-09-22 22:31:13 +0000 |
commit | 5564ba743fa0af497349b719f54ad68252869a6c (patch) | |
tree | 35fe31fc2addb7705781d892c1a693e843e6e363 /clang/lib/Driver/Driver.cpp | |
parent | 81fff1c358c7efb292a4d02e61baef695a563393 (diff) | |
download | bcm5719-llvm-5564ba743fa0af497349b719f54ad68252869a6c.tar.gz bcm5719-llvm-5564ba743fa0af497349b719f54ad68252869a6c.zip |
Push "clang-is-production" logic up to tools/driver, and make it hittable by
defining the CLANG_IS_PRODUCTION Makefile variable.
llvm-svn: 82583
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 1d72b0dbd6e..fd2eb61f75b 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -43,26 +43,28 @@ using namespace clang; Driver::Driver(const char *_Name, const char *_Dir, const char *_DefaultHostTriple, const char *_DefaultImageName, - Diagnostic &_Diags) + bool IsProduction, Diagnostic &_Diags) : Opts(new OptTable()), Diags(_Diags), Name(_Name), Dir(_Dir), DefaultHostTriple(_DefaultHostTriple), DefaultImageName(_DefaultImageName), Host(0), CCCIsCXX(false), CCCEcho(false), CCCPrintBindings(false), CCCGenericGCCName("gcc"), CCCUseClang(true), -#ifdef USE_PRODUCTION_CLANG - CCCUseClangCXX(false), -#else - CCCUseClangCXX(true), -#endif - CCCUseClangCPP(true), CCCUsePCH(true), + CCCUseClangCXX(true), CCCUseClangCPP(true), CCCUsePCH(true), SuppressMissingInputWarning(false) { -#ifdef USE_PRODUCTION_CLANG - // In a "production" build, only use clang on architectures we expect to work. - CCCClangArchs.insert(llvm::Triple::x86); - CCCClangArchs.insert(llvm::Triple::x86_64); - CCCClangArchs.insert(llvm::Triple::arm); -#endif + if (IsProduction) { + // In a "production" build, only use clang on architectures we expect to + // work, and don't use clang C++. + // + // During development its more convenient to always have the driver use + // clang, but we don't want users to be confused when things don't work, or + // to file bugs for things we don't support. + CCCClangArchs.insert(llvm::Triple::x86); + CCCClangArchs.insert(llvm::Triple::x86_64); + CCCClangArchs.insert(llvm::Triple::arm); + + CCCUseClangCXX = false; + } } Driver::~Driver() { |