diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-10-09 20:46:28 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-10-09 20:46:28 +0000 |
commit | fc3fc0c9362ac3efd347f2c48d61bba479503f2d (patch) | |
tree | c5fa10176ac42886fe90b729ad12067aae03b5b1 /clang/lib/Driver/Driver.cpp | |
parent | 2f7bf410916df36428076f135defb0262423b273 (diff) | |
download | bcm5719-llvm-fc3fc0c9362ac3efd347f2c48d61bba479503f2d.tar.gz bcm5719-llvm-fc3fc0c9362ac3efd347f2c48d61bba479503f2d.zip |
The clang driver has a fairly fancy support for executing gcc instead of
clang itself. This dates back to clang's early days and while it looks like
some of it is still used (for kext for example), other parts are probably dead.
Remove the -ccc-clang-archs option and associated code. I don't think there
is any remaining setup where clang doesn't support an architecture but it can
expect an working gcc cross compiler to be available.
A nice side effect is that tests no longer need to differentiate architectures
that are included in production builds of clang and those that are not.
llvm-svn: 165545
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 212042eaf36..f747621b8ce 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -60,17 +60,6 @@ Driver::Driver(StringRef ClangExecutable, CCGenDiagnostics(false), CCCGenericGCCName(""), CheckInputsExist(true), CCCUseClang(true), CCCUseClangCXX(true), CCCUseClangCPP(true), ForcedClangUse(false), CCCUsePCH(true), SuppressMissingInputWarning(false) { - if (IsProduction) { - // In a "production" build, only use clang on architectures we expect to - // work. - // - // 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); - } Name = llvm::sys::path::stem(ClangExecutable); Dir = llvm::sys::path::parent_path(ClangExecutable); @@ -293,26 +282,6 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) { options::OPT_ccc_pch_is_pth); CCCUseClang = !Args->hasArg(options::OPT_ccc_no_clang); CCCUseClangCPP = !Args->hasArg(options::OPT_ccc_no_clang_cpp); - if (const Arg *A = Args->getLastArg(options::OPT_ccc_clang_archs)) { - StringRef Cur = A->getValue(*Args); - - CCCClangArchs.clear(); - while (!Cur.empty()) { - std::pair<StringRef, StringRef> Split = Cur.split(','); - - if (!Split.first.empty()) { - llvm::Triple::ArchType Arch = - llvm::Triple(Split.first, "", "").getArch(); - - if (Arch == llvm::Triple::UnknownArch) - Diag(clang::diag::err_drv_invalid_arch_name) << Split.first; - - CCCClangArchs.insert(Arch); - } - - Cur = Split.second; - } - } // 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)) @@ -1840,13 +1809,6 @@ bool Driver::ShouldUseClangCompiler(const Compilation &C, const JobAction &JA, types::isOnlyAcceptedByClang(JA.getType())) return true; - // Finally, don't use clang if this isn't one of the user specified archs to - // build. - if (!CCCClangArchs.empty() && !CCCClangArchs.count(Triple.getArch())) { - Diag(clang::diag::warn_drv_not_using_clang_arch) << Triple.getArchName(); - return false; - } - return true; } |