Lines Matching defs:ToolChain
1 //===--- Gnu.cpp - Gnu Tool and ToolChain Implementations -------*- C++ -*-===//
27 #include "clang/Driver/ToolChain.h"
296 static bool getStaticPIE(const ArgList &Args, const ToolChain &TC) {
362 // FIXME: The Linker class constructor takes a ToolChain and not a
366 const auto &ToolChain = static_cast<const Generic_ELF &>(getToolChain());
367 const Driver &D = ToolChain.getDriver();
371 const llvm::Triple::ArchType Arch = ToolChain.getArch();
372 const bool isOHOSFamily = ToolChain.getTriple().isOHOSFamily();
373 const bool isAndroid = ToolChain.getTriple().isAndroid();
374 const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU();
375 const bool IsVE = ToolChain.getTriple().isVE();
376 const bool IsStaticPIE = getStaticPIE(Args, ToolChain);
379 ToolChain.getTriple().hasEnvironment() ||
380 (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies);
415 ToolChain.addExtraOpts(CmdArgs);
419 if (const char *LDMOption = getLDMOption(ToolChain.getTriple(), Args)) {
450 ToolChain.isPIEDefault(Args));
455 ToolChain.getDynamicLinker(Args)));
477 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
479 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
488 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt0.o")));
491 if (ToolChain.GetRuntimeLibType(Args) == ToolChain::RLT_CompilerRT &&
493 std::string crtbegin = ToolChain.getCompilerRT(Args, "crtbegin",
494 ToolChain::FT_Object);
495 if (ToolChain.getVFS().exists(crtbegin))
508 P = ToolChain.GetFilePath(crtbegin);
514 ToolChain.addFastMathRuntimeIfAvailable(Args, CmdArgs);
519 Args.MakeArgString(ToolChain.GetFilePath("crt_pad_segment.o")));
524 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
536 addLTOOptions(ToolChain, Args, CmdArgs, Output, *Input,
543 bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
544 bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);
545 addLinkerCompressDebugSectionsOption(ToolChain, Args, CmdArgs);
546 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA);
548 addHIPRuntimeLibArgs(ToolChain, C, Args, CmdArgs);
556 if (ToolChain.ShouldLinkCXXStdlib(Args)) {
561 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
576 addFortranRuntimeLibraryPath(ToolChain, Args, CmdArgs);
577 addFortranRuntimeLibs(ToolChain, Args, CmdArgs);
587 linkSanitizerRuntimeDeps(ToolChain, Args, CmdArgs);
590 linkXRayRuntimeDeps(ToolChain, Args, CmdArgs);
601 if (addOpenMPRuntime(C, CmdArgs, ToolChain, Args, StaticOpenMP,
608 AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
638 AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
651 if (ToolChain.GetRuntimeLibType(Args) == ToolChain::RLT_CompilerRT &&
653 std::string crtend = ToolChain.getCompilerRT(Args, "crtend",
654 ToolChain::FT_Object);
655 if (ToolChain.getVFS().exists(crtend))
666 P = ToolChain.GetFilePath(crtend);
671 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
677 const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
3056 : ToolChain(D, Triple, Args), GCCInstallation(D),
3074 return ToolChain::getTool(AC);
3091 ToolChain::UnwindTableLevel
3141 void Generic_GCC::PushPPaths(ToolChain::path_list &PPaths) {
3263 case ToolChain::CST_Libcxx:
3267 case ToolChain::CST_Libstdcxx: