• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/clang/lib/Driver/

Lines Matching defs:ToolChain

1 //===- ToolChain.cpp - Collections of tools for one platform --------------===//
9 #include "clang/Driver/ToolChain.h"
59 static ToolChain::RTTIMode CalculateRTTIMode(const ArgList &Args,
65 return ToolChain::RM_Enabled;
67 return ToolChain::RM_Disabled;
71 return (Triple.isPS4CPU()) ? ToolChain::RM_Disabled : ToolChain::RM_Enabled;
74 ToolChain::ToolChain(const Driver &D, const llvm::Triple &T,
91 void ToolChain::setTripleEnvironment(llvm::Triple::EnvironmentType Env) {
97 ToolChain::~ToolChain() = default;
99 llvm::vfs::FileSystem &ToolChain::getVFS() const {
103 bool ToolChain::useIntegratedAs() const {
109 bool ToolChain::useRelaxRelocations() const {
113 bool ToolChain::isNoExecStackDefault() const {
117 const SanitizerArgs& ToolChain::getSanitizerArgs() const {
123 const XRayArgs& ToolChain::getXRayArgs() const {
206 ToolChain::getTargetAndModeFromProgramName(StringRef PN) {
230 StringRef ToolChain::getDefaultUniversalArchName() const {
250 std::string ToolChain::getInputFilename(const InputInfo &Input) const {
254 bool ToolChain::IsUnwindTablesDefault(const ArgList &Args) const {
258 Tool *ToolChain::getClang() const {
264 Tool *ToolChain::getFlang() const {
270 Tool *ToolChain::buildAssembler() const {
274 Tool *ToolChain::buildLinker() const {
278 Tool *ToolChain::buildStaticLibTool() const {
282 Tool *ToolChain::getAssemble() const {
288 Tool *ToolChain::getClangAs() const {
294 Tool *ToolChain::getLink() const {
300 Tool *ToolChain::getStaticLibTool() const {
306 Tool *ToolChain::getIfsMerge() const {
312 Tool *ToolChain::getOffloadBundler() const {
318 Tool *ToolChain::getOffloadWrapper() const {
324 Tool *ToolChain::getTool(Action::ActionClass AC) const {
367 static StringRef getArchNameForCompilerRTLib(const ToolChain &TC,
384 StringRef ToolChain::getOSLibName() const {
399 std::string ToolChain::getCompilerRTPath() const {
409 std::string ToolChain::getCompilerRTBasename(const ArgList &Args,
417 IsITANMSVCWindows || Type == ToolChain::FT_Object ? "" : "lib";
420 case ToolChain::FT_Object:
423 case ToolChain::FT_Static:
426 case ToolChain::FT_Shared:
442 std::string ToolChain::getCompilerRT(const ArgList &Args, StringRef Component,
462 const char *ToolChain::getCompilerRTArgString(const llvm::opt::ArgList &Args,
469 Optional<std::string> ToolChain::getRuntimePath() const {
487 Optional<std::string> ToolChain::getCXXStdlibPath() const {
505 std::string ToolChain::getArchSpecificLibPath() const {
512 bool ToolChain::needsProfileRT(const ArgList &Args) {
526 bool ToolChain::needsGCovInstrumentation(const llvm::opt::ArgList &Args) {
532 Tool *ToolChain::SelectTool(const JobAction &JA) const {
541 std::string ToolChain::GetFilePath(const char *Name) const {
545 std::string ToolChain::GetProgramPath(const char *Name) const {
549 std::string ToolChain::GetLinkerPath() const {
581 std::string ToolChain::GetStaticLibToolPath() const {
586 types::ID ToolChain::LookupTypeForExtension(StringRef Ext) const {
598 bool ToolChain::HasNativeLLVMSupport() const {
602 bool ToolChain::isCrossCompiling() const {
618 ObjCRuntime ToolChain::getDefaultObjCRuntime(bool isNonFragile) const {
624 ToolChain::GetExceptionModel(const llvm::opt::ArgList &Args) const {
628 bool ToolChain::isThreadModelSupported(const StringRef Model) const {
643 std::string ToolChain::ComputeLLVMTriple(const ArgList &Args,
766 std::string ToolChain::ComputeEffectiveClangTriple(const ArgList &Args,
771 std::string ToolChain::computeSysRoot() const {
775 void ToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
780 void ToolChain::addClangTargetOptions(
784 void ToolChain::addClangWarningOptions(ArgStringList &CC1Args) const {}
786 void ToolChain::addProfileRTLibs(const llvm::opt::ArgList &Args,
794 ToolChain::RuntimeLibType ToolChain::GetRuntimeLibType(
801 return ToolChain::RLT_CompilerRT;
803 return ToolChain::RLT_Libgcc;
813 ToolChain::UnwindLibType ToolChain::GetUnwindLibType(
819 return ToolChain::UNW_None;
821 ToolChain::RuntimeLibType RtLibType = GetRuntimeLibType(Args);
822 if (RtLibType == ToolChain::RLT_CompilerRT)
823 return ToolChain::UNW_None;
824 else if (RtLibType == ToolChain::RLT_Libgcc)
825 return ToolChain::UNW_Libgcc;
829 return ToolChain::UNW_CompilerRT;
831 return ToolChain::UNW_Libgcc;
840 ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
846 return ToolChain::CST_Libcxx;
848 return ToolChain::CST_Libstdcxx;
859 /*static*/ void ToolChain::addSystemInclude(const ArgList &DriverArgs,
874 /*static*/ void ToolChain::addExternCSystemInclude(const ArgList &DriverArgs,
881 void ToolChain::addExternCSystemIncludeIfExists(const ArgList &DriverArgs,
889 /*static*/ void ToolChain::addSystemIncludes(const ArgList &DriverArgs,
898 void ToolChain::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
912 void ToolChain::AddClangCXXStdlibIsystemArgs(
922 bool ToolChain::ShouldLinkCXXStdlib(const llvm::opt::ArgList &Args) const {
928 void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
935 case ToolChain::CST_Libcxx:
939 case ToolChain::CST_Libstdcxx:
945 void ToolChain::AddFilePathLibArgs(const ArgList &Args,
952 void ToolChain::AddCCKextLibArgs(const ArgList &Args,
957 bool ToolChain::isFastMathRuntimeAvailable(const ArgList &Args,
977 bool ToolChain::addFastMathRuntimeIfAvailable(const ArgList &Args,
988 SanitizerMask ToolChain::getSupportedSanitizers() const {
1013 void ToolChain::AddCudaIncludeArgs(const ArgList &DriverArgs,
1016 void ToolChain::AddHIPIncludeArgs(const ArgList &DriverArgs,
1019 void ToolChain::AddIAMCUIncludeArgs(const ArgList &DriverArgs,
1036 ToolChain::computeMSVCVersion(const Driver *D,
1076 llvm::opt::DerivedArgList *ToolChain::TranslateOpenMPTargetArgs(
1146 void ToolChain::TranslateXarchArgs(
1185 llvm::opt::DerivedArgList *ToolChain::TranslateXarchArgs(