Lines Matching defs:ToolChain
1 //===--- Gnu.cpp - Gnu Tool and ToolChain Implementations -------*- C++ -*-===//
27 #include "clang/Driver/ToolChain.h"
294 static bool getStaticPIE(const ArgList &Args, const ToolChain &TC) {
360 // FIXME: The Linker class constructor takes a ToolChain and not a
364 const auto &ToolChain = static_cast<const Generic_ELF &>(getToolChain());
365 const Driver &D = ToolChain.getDriver();
369 const llvm::Triple::ArchType Arch = ToolChain.getArch();
370 const bool isOHOSFamily = ToolChain.getTriple().isOHOSFamily();
371 const bool isAndroid = ToolChain.getTriple().isAndroid();
372 const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU();
373 const bool IsVE = ToolChain.getTriple().isVE();
374 const bool IsStaticPIE = getStaticPIE(Args, ToolChain);
377 ToolChain.getTriple().hasEnvironment() ||
378 (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies);
413 ToolChain.addExtraOpts(CmdArgs);
417 if (const char *LDMOption = getLDMOption(ToolChain.getTriple(), Args)) {
448 ToolChain.isPIEDefault(Args));
453 ToolChain.getDynamicLinker(Args)));
475 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
477 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
486 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt0.o")));
489 if (ToolChain.GetRuntimeLibType(Args) == ToolChain::RLT_CompilerRT &&
491 std::string crtbegin = ToolChain.getCompilerRT(Args, "crtbegin",
492 ToolChain::FT_Object);
493 if (ToolChain.getVFS().exists(crtbegin))
506 P = ToolChain.GetFilePath(crtbegin);
512 ToolChain.addFastMathRuntimeIfAvailable(Args, CmdArgs);
517 Args.MakeArgString(ToolChain.GetFilePath("crt_pad_segment.o")));
522 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
534 addLTOOptions(ToolChain, Args, CmdArgs, Output, *Input,
541 bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
542 bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);
543 addLinkerCompressDebugSectionsOption(ToolChain, Args, CmdArgs);
544 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA);
546 addHIPRuntimeLibArgs(ToolChain, C, Args, CmdArgs);
554 if (ToolChain.ShouldLinkCXXStdlib(Args)) {
559 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
575 addFortranRuntimeLibraryPath(ToolChain, Args, CmdArgs);
576 addFortranRuntimeLibs(ToolChain, Args, CmdArgs);
586 linkSanitizerRuntimeDeps(ToolChain, Args, CmdArgs);
589 linkXRayRuntimeDeps(ToolChain, Args, CmdArgs);
600 if (addOpenMPRuntime(C, CmdArgs, ToolChain, Args, StaticOpenMP,
607 AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
637 AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
650 if (ToolChain.GetRuntimeLibType(Args) == ToolChain::RLT_CompilerRT &&
652 std::string crtend = ToolChain.getCompilerRT(Args, "crtend",
653 ToolChain::FT_Object);
654 if (ToolChain.getVFS().exists(crtend))
665 P = ToolChain.GetFilePath(crtend);
670 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
676 const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
3009 : ToolChain(D, Triple, Args), GCCInstallation(D),
3028 return ToolChain::getTool(AC);
3045 ToolChain::UnwindTableLevel
3095 void Generic_GCC::PushPPaths(ToolChain::path_list &PPaths) {
3217 case ToolChain::CST_Libcxx:
3221 case ToolChain::CST_Libstdcxx: