Diagnostic Diags(&DiagClient);
Driver TheDriver(Path.getBasename(), Path.getDirname(),
llvm::sys::getHostTriple(),
- "a.out", /*IsProduction=*/false, Diags);
+ "a.out", /*IsProduction=*/false, /*CXXIsProduction=*/false,
+ Diags);
TheDriver.setTitle("clang interpreter");
// FIXME: This is a hack to try to force the driver to do something we can
Driver(llvm::StringRef _Name, llvm::StringRef _Dir,
llvm::StringRef _DefaultHostTriple,
llvm::StringRef _DefaultImageName,
- bool IsProduction, Diagnostic &_Diags);
+ bool IsProduction, bool CXXIsProduction,
+ Diagnostic &_Diags);
~Driver();
/// @name Accessors
Driver::Driver(llvm::StringRef _Name, llvm::StringRef _Dir,
llvm::StringRef _DefaultHostTriple,
llvm::StringRef _DefaultImageName,
- bool IsProduction, Diagnostic &_Diags)
+ bool IsProduction, bool CXXIsProduction,
+ Diagnostic &_Diags)
: Opts(createDriverOptTable()), Diags(_Diags),
Name(_Name), Dir(_Dir), DefaultHostTriple(_DefaultHostTriple),
DefaultImageName(_DefaultImageName),
CCCClangArchs.insert(llvm::Triple::x86_64);
CCCClangArchs.insert(llvm::Triple::arm);
- CCCUseClangCXX = false;
+ if (!CXXIsProduction)
+ CCCUseClangCXX = false;
}
// Compute the path to the resource directory.
// FIXME: We shouldn't have to pass in the path info.
driver::Driver TheDriver("clang", "/", llvm::sys::getHostTriple(),
- "a.out", false, Diags);
+ "a.out", false, false, Diags);
// Don't check that inputs exist, they have been remapped.
TheDriver.setCheckInputsExist(false);
TOOLNAME = clang
ifndef CLANG_IS_PRODUCTION
TOOLALIAS = clang++
+else
+ ifdef CLANGXX_IS_PRODUCTION
+ TOOLALIAS = clang++
+ endif
endif
CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
ifdef CLANG_IS_PRODUCTION
CPP.Defines += -DCLANG_IS_PRODUCTION
endif
-
+ifdef CLANGXX_IS_PRODUCTION
+CPP.Defines += -DCLANGXX_IS_PRODUCTION
+endif
#ifdef CLANG_IS_PRODUCTION
const bool IsProduction = true;
+# ifdef CLANGXX_IS_PRODUCTION
+ const bool CXXIsProduction = true;
+# else
+ const bool CXXIsProduction = false;
+# endif
#else
const bool IsProduction = false;
+ const bool CXXIsProduction = false;
#endif
Driver TheDriver(Path.getBasename(), Path.getDirname(),
llvm::sys::getHostTriple(),
- "a.out", IsProduction, Diags);
+ "a.out", IsProduction, CXXIsProduction,
+ Diags);
// Check for ".*++" or ".*++-[^-]*" to determine if we are a C++
// compiler. This matches things like "c++", "clang++", and "clang++-1.1".