| clang 22.0.0git
    | 
#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Driver/ToolChains/Linux.h"
| Public Member Functions | |
| Linux (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
| bool | HasNativeLLVMSupport () const override | 
| HasNativeLTOLinker - Check whether the linker and related tools have native LLVM support. | |
| std::string | getMultiarchTriple (const Driver &D, const llvm::Triple &TargetTriple, StringRef SysRoot) const override | 
| Get our best guess at the multiarch triple for a target. | |
| void | AddClangSystemIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override | 
| Add the clang cc1 arguments for system include paths. | |
| void | addLibStdCxxIncludePaths (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override | 
| void | AddCudaIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override | 
| Add arguments to use system-specific CUDA includes. | |
| void | AddHIPIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override | 
| Add arguments to use system-specific HIP includes. | |
| void | AddHIPRuntimeLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override | 
| Add the system specific linker arguments to use for the given HIP runtime library type. | |
| void | AddIAMCUIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override | 
| Add arguments to use MCU GCC toolchain includes. | |
| void | addSYCLIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override | 
| Add arguments to use system-specific SYCL includes. | |
| RuntimeLibType | GetDefaultRuntimeLibType () const override | 
| GetDefaultRuntimeLibType - Get the default runtime library variant to use. | |
| unsigned | GetDefaultDwarfVersion () const override | 
| CXXStdlibType | GetDefaultCXXStdlibType () const override | 
| bool | IsAArch64OutlineAtomicsDefault (const llvm::opt::ArgList &Args) const override | 
| Test whether this toolchain supports outline atomics by default. | |
| bool | isPIEDefault (const llvm::opt::ArgList &Args) const override | 
| Test whether this toolchain defaults to PIE. | |
| bool | IsMathErrnoDefault () const override | 
| IsMathErrnoDefault - Does this tool chain use -fmath-errno by default. | |
| SanitizerMask | getSupportedSanitizers () const override | 
| Return sanitizers which are available in this toolchain. | |
| void | addProfileRTLibs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override | 
| addProfileRTLibs - When -fprofile-instr-profile is specified, try to pass a suitable profile runtime library to the linker. | |
| std::string | ComputeEffectiveClangTriple (const llvm::opt::ArgList &Args, types::ID InputType=types::TY_INVALID) const override | 
| ComputeEffectiveClangTriple - Return the Clang triple to use for this target, which may take into account the command line arguments. | |
| std::string | computeSysRoot () const override | 
| Return the sysroot, possibly searching for a default sysroot using target-specific logic. | |
| void | addClangTargetOptions (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, Action::OffloadKind DeviceOffloadKind) const override | 
| Add options that need to be passed to cc1 for this target. | |
| std::string | getDynamicLinker (const llvm::opt::ArgList &Args) const override | 
| void | addExtraOpts (llvm::opt::ArgStringList &CmdArgs) const override | 
| const char * | getDefaultLinker () const override | 
| GetDefaultLinker - Get the default linker to use. | |
| Public Member Functions inherited from clang::driver::toolchains::Generic_ELF | |
| Generic_ELF (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
| Public Member Functions inherited from clang::driver::toolchains::Generic_GCC | |
| Generic_GCC (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
| ~Generic_GCC () override | |
| void | printVerboseInfo (raw_ostream &OS) const override | 
| Dispatch to the specific toolchain for verbose printing. | |
| UnwindTableLevel | getDefaultUnwindTableLevel (const llvm::opt::ArgList &Args) const override | 
| How detailed should the unwind tables be by default. | |
| bool | isPICDefault () const override | 
| Test whether this toolchain defaults to PIC. | |
| bool | isPICDefaultForced () const override | 
| Tests whether this toolchain forces its default for PIC, PIE or non-PIC. | |
| bool | IsIntegratedAssemblerDefault () const override | 
| IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default. | |
| llvm::opt::DerivedArgList * | TranslateArgs (const llvm::opt::DerivedArgList &Args, StringRef BoundArch, Action::OffloadKind DeviceOffloadKind) const override | 
| TranslateArgs - Create a new derived argument list for any argument translations this ToolChain may wish to perform, or 0 if no tool chain specific translations are needed. | |
| Public Member Functions inherited from clang::driver::ToolChain | |
| virtual | ~ToolChain () | 
| const Driver & | getDriver () const | 
| llvm::vfs::FileSystem & | getVFS () const | 
| const llvm::Triple & | getTriple () const | 
| virtual const llvm::Triple * | getAuxTriple () const | 
| Get the toolchain's aux triple, if it has one. | |
| virtual std::string | getInputFilename (const InputInfo &Input) const | 
| Some toolchains need to modify the file name, for example to replace the extension for object files with .cubin for OpenMP offloading to Nvidia GPUs. | |
| llvm::Triple::ArchType | getArch () const | 
| StringRef | getArchName () const | 
| StringRef | getPlatform () const | 
| StringRef | getOS () const | 
| StringRef | getDefaultUniversalArchName () const | 
| Provide the default architecture name (as expected by -arch) for this toolchain. | |
| std::string | getTripleString () const | 
| const llvm::Triple & | getEffectiveTriple () const | 
| Get the toolchain's effective clang triple. | |
| bool | hasEffectiveTriple () const | 
| path_list & | getLibraryPaths () | 
| const path_list & | getLibraryPaths () const | 
| path_list & | getFilePaths () | 
| const path_list & | getFilePaths () const | 
| path_list & | getProgramPaths () | 
| const path_list & | getProgramPaths () const | 
| const MultilibSet & | getMultilibs () const | 
| const llvm::SmallVector< Multilib > & | getSelectedMultilibs () const | 
| Multilib::flags_list | getMultilibFlags (const llvm::opt::ArgList &) const | 
| Get flags suitable for multilib selection, based on the provided clang command line arguments. | |
| SanitizerArgs | getSanitizerArgs (const llvm::opt::ArgList &JobArgs) const | 
| const XRayArgs | getXRayArgs (const llvm::opt::ArgList &) const | 
| const llvm::opt::Arg * | getRTTIArg () const | 
| RTTIMode | getRTTIMode () const | 
| ExceptionsMode | getExceptionsMode () const | 
| virtual llvm::opt::DerivedArgList * | TranslateOpenMPTargetArgs (const llvm::opt::DerivedArgList &Args, bool SameTripleAsHost, SmallVectorImpl< llvm::opt::Arg * > &AllocatedArgs) const | 
| TranslateOpenMPTargetArgs - Create a new derived argument list for that contains the OpenMP target specific flags passed via -Xopenmp-target -opt=val OR -Xopenmp-target=<triple> -opt=val. | |
| virtual void | TranslateXarchArgs (const llvm::opt::DerivedArgList &Args, llvm::opt::Arg *&A, llvm::opt::DerivedArgList *DAL, SmallVectorImpl< llvm::opt::Arg * > *AllocatedArgs=nullptr) const | 
| Append the argument following AtoDALassumingAis an Xarch argument. | |
| virtual llvm::opt::DerivedArgList * | TranslateXarchArgs (const llvm::opt::DerivedArgList &Args, StringRef BoundArch, Action::OffloadKind DeviceOffloadKind, SmallVectorImpl< llvm::opt::Arg * > *AllocatedArgs) const | 
| Translate -Xarch_ arguments. | |
| virtual Tool * | SelectTool (const JobAction &JA) const | 
| Choose a tool to use to handle the action JA. | |
| std::string | GetFilePath (const char *Name) const | 
| std::string | GetProgramPath (const char *Name) const | 
| std::string | GetLinkerPath (bool *LinkerIsLLD=nullptr) const | 
| Returns the linker path, respecting the -fuse-ld= argument to determine the linker suffix or name. | |
| std::string | GetStaticLibToolPath () const | 
| Returns the linker path for emitting a static library. | |
| virtual bool | isCrossCompiling () const | 
| Returns true if the toolchain is targeting a non-native architecture. | |
| virtual types::ID | LookupTypeForExtension (StringRef Ext) const | 
| LookupTypeForExtension - Return the default language type to use for the given extension. | |
| virtual bool | IsBlocksDefault () const | 
| IsBlocksDefault - Does this tool chain enable -fblocks by default. | |
| virtual bool | IsIntegratedBackendDefault () const | 
| IsIntegratedBackendDefault - Does this tool chain enable -fintegrated-objemitter by default. | |
| virtual bool | IsIntegratedBackendSupported () const | 
| IsIntegratedBackendSupported - Does this tool chain support -fintegrated-objemitter. | |
| virtual bool | IsNonIntegratedBackendSupported () const | 
| IsNonIntegratedBackendSupported - Does this tool chain support -fno-integrated-objemitter. | |
| virtual bool | useIntegratedAs () const | 
| Check if the toolchain should use the integrated assembler. | |
| virtual bool | useIntegratedBackend () const | 
| Check if the toolchain should use the integrated backend. | |
| virtual bool | parseInlineAsmUsingAsmParser () const | 
| Check if the toolchain should use AsmParser to parse inlineAsm when integrated assembler is not default. | |
| virtual bool | IsEncodeExtendedBlockSignatureDefault () const | 
| IsEncodeExtendedBlockSignatureDefault - Does this tool chain enable -fencode-extended-block-signature by default. | |
| virtual bool | IsObjCNonFragileABIDefault () const | 
| IsObjCNonFragileABIDefault - Does this tool chain set -fobjc-nonfragile-abi by default. | |
| virtual bool | UseObjCMixedDispatch () const | 
| UseObjCMixedDispatchDefault - When using non-legacy dispatch, should the mixed dispatch method be used? | |
| virtual bool | useRelaxRelocations () const | 
| Check whether to enable x86 relax relocations by default. | |
| bool | defaultToIEEELongDouble () const | 
| Check whether use IEEE binary128 as long double format by default. | |
| virtual LangOptions::StackProtectorMode | GetDefaultStackProtectorLevel (bool KernelOrKext) const | 
| GetDefaultStackProtectorLevel - Get the default stack protector level for this tool chain. | |
| virtual LangOptions::TrivialAutoVarInitKind | GetDefaultTrivialAutoVarInit () const | 
| Get the default trivial automatic variable initialization. | |
| virtual UnwindLibType | GetDefaultUnwindLibType () const | 
| virtual std::string | getCompilerRTPath () const | 
| virtual std::string | getCompilerRT (const llvm::opt::ArgList &Args, StringRef Component, FileType Type=ToolChain::FT_Static, bool IsFortran=false) const | 
| virtual void | addFortranRuntimeLibs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const | 
| Adds Fortran runtime libraries to CmdArgs. | |
| virtual void | addFortranRuntimeLibraryPath (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const | 
| Adds the path for the Fortran runtime libraries to CmdArgs. | |
| void | addFlangRTLibPath (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const | 
| Add the path for libflang_rt.runtime.a. | |
| const char * | getCompilerRTArgString (const llvm::opt::ArgList &Args, StringRef Component, FileType Type=ToolChain::FT_Static, bool IsFortran=false) const | 
| std::string | getCompilerRTBasename (const llvm::opt::ArgList &Args, StringRef Component, FileType Type=ToolChain::FT_Static) const | 
| llvm::Triple | getTripleWithoutOSVersion () const | 
| std::optional< std::string > | getRuntimePath () const | 
| std::optional< std::string > | getStdlibPath () const | 
| std::optional< std::string > | getStdlibIncludePath () const | 
| virtual path_list | getArchSpecificLibPaths () const | 
| virtual StringRef | getOSLibName () const | 
| virtual bool | SupportsProfiling () const | 
| SupportsProfiling - Does this tool chain support -pg. | |
| virtual void | CheckObjCARC () const | 
| Complain if this tool chain doesn't support Objective-C ARC. | |
| virtual llvm::codegenoptions::DebugInfoFormat | getDefaultDebugFormat () const | 
| Get the default debug info format. Typically, this is DWARF. | |
| virtual bool | UseDwarfDebugFlags () const | 
| UseDwarfDebugFlags - Embed the compile options to clang into the Dwarf compile unit information. | |
| virtual std::string | GetGlobalDebugPathRemapping () const | 
| Add an additional -fdebug-prefix-map entry. | |
| virtual unsigned | getMaxDwarfVersion () const | 
| virtual bool | GetDefaultStandaloneDebug () const | 
| virtual llvm::DebuggerKind | getDefaultDebuggerTuning () const | 
| virtual bool | supportsDebugInfoOption (const llvm::opt::Arg *) const | 
| Does this toolchain supports given debug info option or not. | |
| virtual void | adjustDebugInfoKind (llvm::codegenoptions::DebugInfoKind &DebugInfoKind, const llvm::opt::ArgList &Args) const | 
| Adjust debug information kind considering all passed options. | |
| virtual llvm::ExceptionHandling | GetExceptionModel (const llvm::opt::ArgList &Args) const | 
| GetExceptionModel - Return the tool chain exception model. | |
| virtual bool | SupportsEmbeddedBitcode () const | 
| SupportsEmbeddedBitcode - Does this tool chain support embedded bitcode. | |
| virtual std::string | getThreadModel () const | 
| getThreadModel() - Which thread model does this target use? | |
| virtual bool | isThreadModelSupported (const StringRef Model) const | 
| isThreadModelSupported() - Does this target support a thread model? | |
| virtual bool | isBareMetal () const | 
| isBareMetal - Is this a bare metal target. | |
| virtual std::string | ComputeLLVMTriple (const llvm::opt::ArgList &Args, types::ID InputType=types::TY_INVALID) const | 
| ComputeLLVMTriple - Return the LLVM target triple to use, after taking command line arguments into account. | |
| virtual ObjCRuntime | getDefaultObjCRuntime (bool isNonFragile) const | 
| getDefaultObjCRuntime - Return the default Objective-C runtime for this platform. | |
| virtual bool | hasBlocksRuntime () const | 
| hasBlocksRuntime - Given that the user is compiling with -fblocks, does this tool chain guarantee the existence of a blocks runtime? | |
| virtual void | addClangCC1ASTargetOptions (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CC1ASArgs) const | 
| Add options that need to be passed to cc1as for this target. | |
| virtual void | addClangWarningOptions (llvm::opt::ArgStringList &CC1Args) const | 
| Add warning options that need to be passed to cc1 for this target. | |
| virtual SmallVector< std::string > | getMultilibMacroDefinesStr (llvm::opt::ArgList &Args) const | 
| virtual RuntimeLibType | GetRuntimeLibType (const llvm::opt::ArgList &Args) const | 
| virtual CXXStdlibType | GetCXXStdlibType (const llvm::opt::ArgList &Args) const | 
| virtual UnwindLibType | GetUnwindLibType (const llvm::opt::ArgList &Args) const | 
| virtual std::string | detectLibcxxVersion (StringRef IncludePath) const | 
| void | AddClangCXXStdlibIsystemArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const | 
| AddClangCXXStdlibIsystemArgs - Add the clang -cc1 level arguments to set the specified include paths for the C++ standard library. | |
| bool | ShouldLinkCXXStdlib (const llvm::opt::ArgList &Args) const | 
| Returns if the C++ standard library should be linked in. | |
| virtual void | AddCXXStdlibLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const | 
| AddCXXStdlibLibArgs - Add the system specific linker arguments to use for the given C++ standard library type. | |
| void | AddFilePathLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const | 
| AddFilePathLibArgs - Add each thing in getFilePaths() as a "-L" option. | |
| virtual void | AddCCKextLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const | 
| AddCCKextLibArgs - Add the system specific linker arguments to use for kernel extensions (Darwin-specific). | |
| virtual bool | isFastMathRuntimeAvailable (const llvm::opt::ArgList &Args, std::string &Path) const | 
| If a runtime library exists that sets global flags for unsafe floating point math, return true. | |
| bool | addFastMathRuntimeIfAvailable (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const | 
| AddFastMathRuntimeIfAvailable - If a runtime library exists that sets global flags for unsafe floating point math, add it and return true. | |
| virtual Expected< SmallVector< std::string > > | getSystemGPUArchs (const llvm::opt::ArgList &Args) const | 
| getSystemGPUArchs - Use a tool to detect the user's availible GPUs. | |
| virtual VersionTuple | computeMSVCVersion (const Driver *D, const llvm::opt::ArgList &Args) const | 
| On Windows, returns the MSVC compatibility version. | |
| virtual llvm::SmallVector< BitCodeLibraryInfo, 12 > | getDeviceLibs (const llvm::opt::ArgList &Args, const Action::OffloadKind DeviceOffloadingKind) const | 
| Get paths for device libraries. | |
| virtual SanitizerMask | getDefaultSanitizers () const | 
| Return sanitizers which are enabled by default. | |
| virtual bool | canSplitThinLTOUnit () const | 
| Returns true when it's possible to split LTO unit to use whole program devirtualization and CFI santiizers. | |
| virtual llvm::DenormalMode | getDefaultDenormalModeForType (const llvm::opt::ArgList &DriverArgs, const JobAction &JA, const llvm::fltSemantics *FPType=nullptr) const | 
| Returns the output denormal handling type in the default floating point environment for the given FPTypeif given. | |
| Public Attributes | |
| std::vector< std::string > | ExtraOpts | 
| Protected Member Functions | |
| Tool * | buildAssembler () const override | 
| Tool * | buildLinker () const override | 
| Tool * | buildStaticLibTool () const override | 
| Protected Member Functions inherited from clang::driver::toolchains::Generic_GCC | |
| Tool * | getTool (Action::ActionClass AC) const override | 
| bool | isTarget64Bit () const | 
| Check whether the target triple's architecture is 64-bits. | |
| bool | isTarget32Bit () const | 
| Check whether the target triple's architecture is 32-bits. | |
| void | PushPPaths (ToolChain::path_list &PPaths) | 
| void | AddMultilibPaths (const Driver &D, const std::string &SysRoot, const std::string &OSLibDir, const std::string &MultiarchTriple, path_list &Paths) | 
| void | AddMultiarchPaths (const Driver &D, const std::string &SysRoot, const std::string &OSLibDir, path_list &Paths) | 
| void | AddMultilibIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const | 
| void | AddClangCXXStdlibIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override | 
| AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set the include paths to use for the given C++ standard library type. | |
| virtual void | addLibCxxIncludePaths (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const | 
| bool | addGCCLibStdCxxIncludePaths (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC) const | 
| bool | addLibStdCXXIncludePaths (Twine IncludeDir, StringRef Triple, Twine IncludeSuffix, const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, bool DetectDebian=false) const | 
| Protected Member Functions inherited from clang::driver::ToolChain | |
| ToolChain (const Driver &D, const llvm::Triple &T, const llvm::opt::ArgList &Args) | |
| void | setTripleEnvironment (llvm::Triple::EnvironmentType Env) | 
| virtual std::string | buildCompilerRTBasename (const llvm::opt::ArgList &Args, StringRef Component, FileType Type, bool AddArch, bool IsFortran=false) const | 
| std::optional< std::string > | getTargetSubDirPath (StringRef BaseDir) const | 
| Find the target-specific subdirectory for the current target triple under BaseDir, doing fallback triple searches as necessary. | |
| Additional Inherited Members | |
| Public Types inherited from clang::driver::ToolChain | |
| enum | CXXStdlibType { CST_Libcxx , CST_Libstdcxx } | 
| enum | RuntimeLibType { RLT_CompilerRT , RLT_Libgcc } | 
| enum | UnwindLibType { UNW_None , UNW_CompilerRT , UNW_Libgcc } | 
| enum class | UnwindTableLevel { None , Synchronous , Asynchronous } | 
| enum | RTTIMode { RM_Enabled , RM_Disabled } | 
| enum | ExceptionsMode { EM_Enabled , EM_Disabled } | 
| enum | FileType { FT_Object , FT_Static , FT_Shared } | 
| using | path_list = SmallVector<std::string, 16> | 
| Static Public Member Functions inherited from clang::driver::ToolChain | |
| static void | addSystemInclude (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, const Twine &Path) | 
| Utility function to add a system include directory to CC1 arguments. | |
| static ParsedClangName | getTargetAndModeFromProgramName (StringRef ProgName) | 
| Return any implicit target and/or mode flag for an invocation of the compiler driver as ProgName. | |
| static bool | needsProfileRT (const llvm::opt::ArgList &Args) | 
| needsProfileRT - returns true if instrumentation profile is on. | |
| static bool | needsGCovInstrumentation (const llvm::opt::ArgList &Args) | 
| Returns true if gcov instrumentation (-fprofile-arcs or –coverage) is on. | |
| static llvm::Triple | getOpenMPTriple (StringRef TripleStr) | 
| Static Protected Member Functions inherited from clang::driver::ToolChain | |
| static void | addSystemFrameworkInclude (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, const Twine &Path) | 
| Utility function to add a system framework directory to CC1 arguments. | |
| static void | addExternCSystemInclude (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, const Twine &Path) | 
| Utility function to add a system include directory with extern "C" semantics to CC1 arguments. | |
| static void | addExternCSystemIncludeIfExists (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, const Twine &Path) | 
| static void | addSystemFrameworkIncludes (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, ArrayRef< StringRef > Paths) | 
| Utility function to add a list of system framework directories to CC1. | |
| static void | addSystemIncludes (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, ArrayRef< StringRef > Paths) | 
| Utility function to add a list of system include directories to CC1. | |
| static std::string | concat (StringRef Path, const Twine &A, const Twine &B="", const Twine &C="", const Twine &D="") | 
| Protected Attributes inherited from clang::driver::toolchains::Generic_GCC | |
| GCCInstallationDetector | GCCInstallation | 
| LazyDetector< CudaInstallationDetector > | CudaInstallation | 
| LazyDetector< RocmInstallationDetector > | RocmInstallation | 
| LazyDetector< SYCLInstallationDetector > | SYCLInstallation | 
| Protected Attributes inherited from clang::driver::ToolChain | |
| MultilibSet | Multilibs | 
| llvm::SmallVector< Multilib > | SelectedMultilibs | 
| Linux::Linux | ( | const Driver & | D, | 
| const llvm::Triple & | Triple, | ||
| const llvm::opt::ArgList & | Args ) | 
Definition at line 212 of file Linux.cpp.
References clang::driver::toolchains::Generic_GCC::AddMultiarchPaths(), clang::driver::toolchains::Generic_GCC::AddMultilibPaths(), Arch, computeSysRoot(), clang::driver::ToolChain::concat(), ExtraOpts, clang::driver::toolchains::Generic_GCC::GCCInstallation, clang::driver::toolchains::Generic_ELF::Generic_ELF(), clang::driver::ToolChain::getFilePaths(), getMultiarchTriple(), getOSLibDir(), clang::driver::ToolChain::getProgramPaths(), clang::driver::tools::riscv::getRISCVABI(), clang::driver::Distro::IsAlpineLinux(), clang::driver::Distro::IsOpenSUSE(), clang::driver::Distro::IsUbuntu(), clang::driver::ToolChain::Multilibs, clang::driver::toolchains::Generic_GCC::PushPPaths(), clang::driver::ToolChain::SelectedMultilibs, and clang::T.
Referenced by clang::driver::toolchains::HexagonToolChain::HexagonToolChain(), clang::driver::toolchains::MipsLLVMToolChain::MipsLLVMToolChain(), clang::driver::toolchains::PPCLinuxToolChain::PPCLinuxToolChain(), and clang::driver::toolchains::VEToolChain::VEToolChain().
| 
 | overridevirtual | 
Add the clang cc1 arguments for system include paths.
This routine is responsible for adding the necessary cc1 arguments to include headers from standard system header directories.
Reimplemented from clang::driver::ToolChain.
Reimplemented in clang::driver::toolchains::MipsLLVMToolChain, clang::driver::toolchains::PPCLinuxToolChain, and clang::driver::toolchains::VEToolChain.
Definition at line 729 of file Linux.cpp.
References clang::driver::ToolChain::addExternCSystemInclude(), clang::driver::toolchains::Generic_GCC::AddMultilibIncludeArgs(), clang::driver::ToolChain::addSystemInclude(), computeSysRoot(), clang::driver::ToolChain::concat(), clang::driver::ToolChain::getDriver(), getMultiarchTriple(), clang::driver::ToolChain::getOS(), and clang::driver::ToolChain::getTriple().
Referenced by clang::driver::toolchains::PPCLinuxToolChain::AddClangSystemIncludeArgs().
| 
 | overridevirtual | 
Add options that need to be passed to cc1 for this target.
Reimplemented from clang::driver::toolchains::Generic_ELF.
Reimplemented in clang::driver::toolchains::VEToolChain.
Definition at line 535 of file Linux.cpp.
References clang::driver::toolchains::Generic_ELF::addClangTargetOptions(), ComputeEffectiveClangTriple(), clang::driver::ToolChain::getDriver(), and handlePAuthABI().
| 
 | overridevirtual | 
Add arguments to use system-specific CUDA includes.
Reimplemented from clang::driver::ToolChain.
Definition at line 825 of file Linux.cpp.
References clang::driver::toolchains::Generic_GCC::CudaInstallation.
| 
 | overridevirtual | 
Reimplemented from clang::driver::toolchains::Generic_ELF.
Definition at line 959 of file Linux.cpp.
References ExtraOpts.
| 
 | overridevirtual | 
Add arguments to use system-specific HIP includes.
Reimplemented from clang::driver::ToolChain.
Definition at line 830 of file Linux.cpp.
References clang::driver::toolchains::Generic_GCC::RocmInstallation.
| 
 | overridevirtual | 
Add the system specific linker arguments to use for the given HIP runtime library type.
Reimplemented from clang::driver::ToolChain.
Definition at line 835 of file Linux.cpp.
References clang::driver::toolchains::Generic_GCC::RocmInstallation.
| 
 | overridevirtual | 
Add arguments to use MCU GCC toolchain includes.
Reimplemented from clang::driver::ToolChain.
Definition at line 850 of file Linux.cpp.
References clang::driver::toolchains::Generic_GCC::GCCInstallation.
| 
 | overridevirtual | 
Reimplemented from clang::driver::toolchains::Generic_GCC.
Definition at line 791 of file Linux.cpp.
References clang::driver::toolchains::Generic_GCC::addGCCLibStdCxxIncludePaths(), clang::driver::toolchains::Generic_GCC::addLibStdCXXIncludePaths(), clang::driver::toolchains::Generic_GCC::GCCInstallation, clang::driver::Multilib::includeSuffix(), and clang::driver::toolchains::Generic_GCC::GCCVersion::Text.
| 
 | overridevirtual | 
addProfileRTLibs - When -fprofile-instr-profile is specified, try to pass a suitable profile runtime library to the linker.
Reimplemented from clang::driver::ToolChain.
Definition at line 949 of file Linux.cpp.
References clang::driver::ToolChain::addProfileRTLibs(), and clang::driver::ToolChain::needsProfileRT().
| 
 | overridevirtual | 
Add arguments to use system-specific SYCL includes.
Reimplemented from clang::driver::toolchains::Generic_GCC.
Definition at line 860 of file Linux.cpp.
References clang::driver::toolchains::Generic_GCC::SYCLInstallation.
| 
 | overrideprotectedvirtual | 
Reimplemented from clang::driver::toolchains::Generic_GCC.
Reimplemented in clang::driver::toolchains::VEToolChain.
| 
 | overrideprotectedvirtual | 
Reimplemented from clang::driver::toolchains::Generic_GCC.
Reimplemented in clang::driver::toolchains::MipsLLVMToolChain, and clang::driver::toolchains::VEToolChain.
| 
 | overrideprotectedvirtual | 
Reimplemented from clang::driver::ToolChain.
| 
 | overridevirtual | 
ComputeEffectiveClangTriple - Return the Clang triple to use for this target, which may take into account the command line arguments.
For example, on Darwin the -mmacos-version-min= command line argument (which sets the deployment target) determines the version in the triple passed to Clang.
Reimplemented from clang::driver::ToolChain.
Definition at line 469 of file Linux.cpp.
References clang::driver::ToolChain::ComputeEffectiveClangTriple(), clang::driver::ToolChain::getDriver(), clang::driver::ToolChain::getTriple(), and setPAuthABIInTriple().
Referenced by addClangTargetOptions().
| 
 | overridevirtual | 
Return the sysroot, possibly searching for a default sysroot using target-specific logic.
Reimplemented from clang::driver::ToolChain.
Reimplemented in clang::driver::toolchains::MipsLLVMToolChain.
Definition at line 394 of file Linux.cpp.
References clang::driver::Driver::Dir, clang::driver::toolchains::Generic_GCC::GCCInstallation, clang::driver::ToolChain::getDriver(), clang::driver::ToolChain::getTriple(), clang::driver::ToolChain::getVFS(), clang::driver::Multilib::osSuffix(), and clang::driver::Driver::SysRoot.
Referenced by AddClangSystemIncludeArgs(), Linux(), and clang::driver::toolchains::VEToolChain::VEToolChain().
| 
 | overridevirtual | 
Reimplemented from clang::driver::ToolChain.
Definition at line 376 of file Linux.cpp.
References clang::driver::ToolChain::CST_Libcxx, clang::driver::ToolChain::CST_Libstdcxx, and clang::driver::ToolChain::getTriple().
| 
 | overridevirtual | 
Reimplemented from clang::driver::ToolChain.
Definition at line 370 of file Linux.cpp.
References clang::driver::ToolChain::GetDefaultDwarfVersion(), and clang::driver::ToolChain::getTriple().
| 
 | overridevirtual | 
GetDefaultLinker - Get the default linker to use.
Reimplemented from clang::driver::ToolChain.
Reimplemented in clang::driver::toolchains::MipsLLVMToolChain, and clang::driver::toolchains::VEToolChain.
Definition at line 964 of file Linux.cpp.
References clang::driver::ToolChain::getDefaultLinker(), and clang::driver::ToolChain::getTriple().
| 
 | overridevirtual | 
GetDefaultRuntimeLibType - Get the default runtime library variant to use.
Reimplemented from clang::driver::ToolChain.
Reimplemented in clang::driver::toolchains::MipsLLVMToolChain, and clang::driver::toolchains::VEToolChain.
Definition at line 364 of file Linux.cpp.
References clang::driver::ToolChain::GetDefaultRuntimeLibType(), clang::driver::ToolChain::getTriple(), and clang::driver::ToolChain::RLT_CompilerRT.
| 
 | overridevirtual | 
Reimplemented from clang::driver::toolchains::Generic_ELF.
Definition at line 544 of file Linux.cpp.
References Arch, clang::driver::Distro::Exherbo, clang::driver::ToolChain::getArch(), clang::driver::tools::arm::getARMFloatABI(), clang::driver::ToolChain::getDriver(), clang::driver::tools::loongarch::getLoongArchABI(), clang::driver::tools::mips::getMipsABILibSuffix(), clang::driver::tools::riscv::getRISCVABI(), clang::driver::ToolChain::getSanitizerArgs(), clang::driver::ToolChain::getTriple(), clang::driver::ToolChain::getVFS(), clang::driver::tools::arm::Hard, clang::driver::tools::ppc::hasPPCAbiArg(), clang::driver::tools::mips::isNaN2008(), and clang::driver::tools::mips::isUCLibc().
| 
 | overridevirtual | 
Get our best guess at the multiarch triple for a target.
Debian-based systems are starting to use a multiarch setup where they use a target-triple directory in the library and header search paths. Unfortunately, this triple does not align with the vanilla target triple, so we provide a rough mapping here.
Reimplemented from clang::driver::ToolChain.
Definition at line 40 of file Linux.cpp.
References clang::driver::ToolChain::concat(), clang::driver::ToolChain::getEffectiveTriple(), and clang::driver::ToolChain::hasEffectiveTriple().
Referenced by AddClangSystemIncludeArgs(), and Linux().
| 
 | overridevirtual | 
Return sanitizers which are available in this toolchain.
Reimplemented from clang::driver::ToolChain.
Definition at line 889 of file Linux.cpp.
References clang::Function, clang::driver::ToolChain::getArch(), clang::driver::ToolChain::getSupportedSanitizers(), and clang::driver::ToolChain::getTriple().
| 
 | overridevirtual | 
HasNativeLTOLinker - Check whether the linker and related tools have native LLVM support.
Reimplemented from clang::driver::ToolChain.
| 
 | overridevirtual | 
Test whether this toolchain supports outline atomics by default.
Reimplemented from clang::driver::ToolChain.
Definition at line 870 of file Linux.cpp.
References clang::driver::toolchains::Generic_GCC::GCCInstallation, clang::driver::ToolChain::GetRuntimeLibType(), clang::driver::ToolChain::getTriple(), clang::driver::ToolChain::RLT_CompilerRT, and clang::driver::ToolChain::RLT_Libgcc.
| 
 | overridevirtual | 
IsMathErrnoDefault - Does this tool chain use -fmath-errno by default.
Reimplemented from clang::driver::ToolChain.
Definition at line 883 of file Linux.cpp.
References clang::driver::ToolChain::getTriple(), and clang::driver::ToolChain::IsMathErrnoDefault().
| 
 | overridevirtual | 
Test whether this toolchain defaults to PIE.
Reimplemented from clang::driver::toolchains::Generic_GCC.
Reimplemented in clang::driver::toolchains::VEToolChain.
Definition at line 865 of file Linux.cpp.
References clang::driver::ToolChain::getSanitizerArgs(), clang::driver::ToolChain::getTriple(), and clang::driver::SanitizerArgs::requiresPIE().
| std::vector<std::string> clang::driver::toolchains::Linux::ExtraOpts | 
Definition at line 69 of file Linux.h.
Referenced by addExtraOpts(), constructHexagonLinkArgs(), and Linux().