Home | History | Annotate | Download | only in Driver

Lines Matching full:toolchain

1 //===--- ToolChain.cpp - Collections of tools for one platform ------------===//
17 #include "clang/Driver/ToolChain.h"
39 static ToolChain::RTTIMode CalculateRTTIMode(const ArgList &Args,
45 return ToolChain::RM_EnabledExplicitly;
47 return ToolChain::RM_DisabledExplicitly;
52 return ToolChain::RM_EnabledImplicitly;
62 return ToolChain::RM_EnabledImplicitly;
64 return ToolChain::RM_DisabledImplicitly;
67 ToolChain::ToolChain(const Driver &D, const llvm::Triple &T,
77 ToolChain::~ToolChain() {
80 vfs::FileSystem &ToolChain::getVFS() const { return getDriver().getVFS(); }
82 bool ToolChain::useIntegratedAs() const {
88 const SanitizerArgs& ToolChain::getSanitizerArgs() const {
164 ToolChain::getTargetAndModeFromProgramName(StringRef PN) {
187 StringRef ToolChain::getDefaultUniversalArchName() const {
204 bool ToolChain::IsUnwindTablesDefault() const {
208 Tool *ToolChain::getClang() const {
214 Tool *ToolChain::buildAssembler() const {
218 Tool *ToolChain::buildLinker() const {
219 llvm_unreachable("Linking is not supported by this toolchain");
222 Tool *ToolChain::getAssemble() const {
228 Tool *ToolChain::getClangAs() const {
234 Tool *ToolChain::getLink() const {
240 Tool *ToolChain::getTool(Action::ActionClass AC) const {
270 static StringRef getArchNameForCompilerRTLib(const ToolChain &TC,
286 std::string ToolChain::getCompilerRT(const ArgList &Args, StringRef Component,
306 const char *ToolChain::getCompilerRTArgString(const llvm::opt::ArgList &Args,
312 bool ToolChain::needsProfileRT(const ArgList &Args) {
326 Tool *ToolChain::SelectTool(const JobAction &JA) const {
334 std::string ToolChain::GetFilePath(const char *Name) const {
338 std::string ToolChain::GetProgramPath(const char *Name) const {
342 std::string ToolChain::GetLinkerPath() const {
365 types::ID ToolChain::LookupTypeForExtension(const char *Ext) const {
369 bool ToolChain::HasNativeLLVMSupport() const {
373 bool ToolChain::isCrossCompiling() const {
389 ObjCRuntime ToolChain::getDefaultObjCRuntime(bool isNonFragile) const {
394 bool ToolChain::isThreadModelSupported(const StringRef Model) const {
409 std::string ToolChain::ComputeLLVMTriple(const ArgList &Args,
497 std::string ToolChain::ComputeEffectiveClangTriple(const ArgList &Args,
502 void ToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
504 // Each toolchain should provide the appropriate include flags.
507 void ToolChain::addClangTargetOptions(const ArgList &DriverArgs,
511 void ToolChain::addClangWarningOptions(ArgStringList &CC1Args) const {}
513 void ToolChain::addProfileRTLibs(const llvm::opt::ArgList &Args,
521 ToolChain::RuntimeLibType ToolChain::GetRuntimeLibType(
526 return ToolChain::RLT_CompilerRT;
528 return ToolChain::RLT_Libgcc;
536 ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
540 return ToolChain::CST_Libcxx;
542 return ToolChain::CST_Libstdcxx;
547 return ToolChain::CST_Libstdcxx;
551 /*static*/ void ToolChain::addSystemInclude(const ArgList &DriverArgs,
566 /*static*/ void ToolChain::addExternCSystemInclude(const ArgList &DriverArgs,
573 void ToolChain::addExternCSystemIncludeIfExists(const ArgList &DriverArgs,
581 /*static*/ void ToolChain::addSystemIncludes(const ArgList &DriverArgs,
590 void ToolChain::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
604 void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
609 case ToolChain::CST_Libcxx:
613 case ToolChain::CST_Libstdcxx:
619 void ToolChain::AddFilePathLibArgs(const ArgList &Args,
626 void ToolChain::AddCCKextLibArgs(const ArgList &Args,
631 bool ToolChain::AddFastMathRuntimeIfAvailable(const ArgList &Args,
655 SanitizerMask ToolChain::getSupportedSanitizers() const {
667 void ToolChain::AddCudaIncludeArgs(const ArgList &DriverArgs,