class BareMetal
Declaration
class BareMetal : public ToolChain { /* full declaration omitted */ };
Description
ToolChain - Access to tools for a single platform.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:22
Inherits from: ToolChain
Member Variables
Inherited from ToolChain:
Method Overview
- public void AddCXXStdlibLibArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- public void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args) const
- public void AddClangSystemIncludeArgs(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args) const
- public void AddLinkRuntimeLib(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- public BareMetal(const clang::driver::Driver & D, const llvm::Triple & Triple, const llvm::opt::ArgList & Args)
- public clang::driver::ToolChain::CXXStdlibType GetDefaultCXXStdlibType() const
- public clang::driver::ToolChain::RuntimeLibType GetDefaultRuntimeLibType() const
- public bool SupportsProfiling() const
- public void addClangTargetOptions(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args, Action::OffloadKind DeviceOffloadKind) const
- protected std::string buildCompilerRTBasename(const llvm::opt::ArgList & Args, llvm::StringRef Component, clang::driver::ToolChain::FileType Type = ToolChain::FT_Static, bool AddArch = true) const
- protected clang::driver::Tool * buildLinker() const
- public std::string computeSysRoot() const
- public void findMultilibs(const clang::driver::Driver & D, const llvm::Triple & Triple, const llvm::opt::ArgList & Args)
- public std::string getCompilerRTPath() const
- public const char * getDefaultLinker() const
- public llvm::StringRef getOSLibName() const
- public std::string getRuntimesDir() const
- public static bool handlesTarget(const llvm::Triple & Triple)
- public bool isCrossCompiling() const
- public bool isPICDefault() const
- public bool isPICDefaultForced() const
- public bool isPIEDefault(const llvm::opt::ArgList & Args) const
- public bool useIntegratedAs() const
- public ~BareMetal()
Inherited from ToolChain:
- public AddCCKextLibArgs
- public AddCXXStdlibLibArgs
- public AddClangCXXStdlibIncludeArgs
- public AddClangCXXStdlibIsystemArgs
- public AddClangSystemIncludeArgs
- public AddCudaIncludeArgs
- public AddFilePathLibArgs
- public AddHIPIncludeArgs
- public AddHIPRuntimeLibArgs
- public AddIAMCUIncludeArgs
- public CheckObjCARC
- public ComputeEffectiveClangTriple
- public ComputeLLVMTriple
- public GetCXXStdlibType
- public GetDefaultCXXStdlibType
- public GetDefaultDwarfVersion
- public GetDefaultRuntimeLibType
- public GetDefaultStackProtectorLevel
- public GetDefaultStandaloneDebug
- public GetDefaultTrivialAutoVarInit
- public GetDefaultUnwindLibType
- public GetExceptionModel
- public GetFilePath
- public GetGlobalDebugPathRemapping
- public GetLinkerPath
- public GetProgramPath
- public GetRuntimeLibType
- public GetStaticLibToolPath
- public GetUnwindLibType
- public HasNativeLLVMSupport
- public IsAArch64OutlineAtomicsDefault
- public IsBlocksDefault
- public IsEncodeExtendedBlockSignatureDefault
- public IsIntegratedAssemblerDefault
- public IsIntegratedBackendDefault
- public IsIntegratedBackendSupported
- public IsMathErrnoDefault
- public IsNonIntegratedBackendSupported
- public IsObjCNonFragileABIDefault
- public IsUnwindTablesDefault
- public LookupTypeForExtension
- public SelectTool
- public ShouldLinkCXXStdlib
- public SupportsEmbeddedBitcode
- public SupportsProfiling
- public TranslateArgs
- public TranslateOpenMPTargetArgs
- public TranslateXarchArgs
- public TranslateXarchArgs
- public UseDwarfDebugFlags
- public UseObjCMixedDispatch
- public addClangTargetOptions
- public addClangWarningOptions
- protected addExternCSystemInclude
- protected addExternCSystemIncludeIfExists
- public addFastMathRuntimeIfAvailable
- public addProfileRTLibs
- protected addSystemInclude
- protected addSystemIncludes
- public adjustDebugInfoKind
- protected buildAssembler
- protected buildCompilerRTBasename
- protected buildLinker
- protected buildStaticLibTool
- public canSplitThinLTOUnit
- public computeMSVCVersion
- public computeSysRoot
- protected concat
- public defaultToIEEELongDouble
- public detectLibcxxVersion
- public getArch
- public getArchName
- public getArchSpecificLibPath
- public getAuxTriple
- public getCompilerRT
- public getCompilerRTArgString
- public getCompilerRTBasename
- public getCompilerRTPath
- public getDefaultDebugFormat
- public getDefaultDebuggerTuning
- public getDefaultDenormalModeForType
- public getDefaultLinker
- public getDefaultObjCRuntime
- public getDefaultSanitizers
- public getDefaultUniversalArchName
- public getDriver
- public getEffectiveTriple
- public getFilePaths
- public getFilePaths
- public getHIPDeviceLibs
- public getInputFilename
- public getLibraryPaths
- public getLibraryPaths
- public getMaxDwarfVersion
- public getMultiarchTriple
- public getMultilib
- public getMultilibs
- public getOS
- public getOSLibName
- public getOpenMPTriple
- public getPlatform
- public getProgramPaths
- public getProgramPaths
- public getRTTIArg
- public getRTTIMode
- public getRuntimePaths
- public getSanitizerArgs
- public getStdlibPaths
- public getSupportedSanitizers
- public getTargetAndModeFromProgramName
- public getTargetVariantTriple
- public getThreadModel
- protected getTool
- public getTriple
- public getTripleString
- public getVFS
- public getXRayArgs
- public hasBlocksRuntime
- public isCrossCompiling
- public isFastMathRuntimeAvailable
- public isPICDefault
- public isPICDefaultForced
- public isPIEDefault
- public isThreadModelSupported
- public needsGCovInstrumentation
- public needsProfileRT
- public parseInlineAsmUsingAsmParser
- public printVerboseInfo
- protected setTripleEnvironment
- public supportsDebugInfoOption
- public useIntegratedAs
- public useIntegratedBackend
- public useRelaxRelocations
Methods
¶void AddCXXStdlibLibArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddCXXStdlibLibArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Description
AddCXXStdlibLibArgs - Add the system specific linker arguments to use for the given C++ standard library type.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:73
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddClangCXXStdlibIncludeArgs(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
void AddClangCXXStdlibIncludeArgs(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
Description
AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set the include paths to use for the given C++ standard library type.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:70
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
¶void AddClangSystemIncludeArgs(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
void AddClangSystemIncludeArgs(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
Description
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.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:65
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
¶void AddLinkRuntimeLib(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddLinkRuntimeLib(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:75
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶BareMetal(const clang::driver::Driver& D,
const llvm::Triple& Triple,
const llvm::opt::ArgList& Args)
BareMetal(const clang::driver::Driver& D,
const llvm::Triple& Triple,
const llvm::opt::ArgList& Args)
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:24
Parameters
- const clang::driver::Driver& D
- const llvm::Triple& Triple
- const llvm::opt::ArgList& Args
¶clang::driver::ToolChain::CXXStdlibType
GetDefaultCXXStdlibType() const
clang::driver::ToolChain::CXXStdlibType
GetDefaultCXXStdlibType() const
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:58
¶clang::driver::ToolChain::RuntimeLibType
GetDefaultRuntimeLibType() const
clang::driver::ToolChain::RuntimeLibType
GetDefaultRuntimeLibType() const
Description
GetDefaultRuntimeLibType - Get the default runtime library variant to use.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:55
¶bool SupportsProfiling() const
bool SupportsProfiling() const
Description
SupportsProfiling - Does this tool chain support -pg.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:49
¶void addClangTargetOptions(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args,
Action::OffloadKind DeviceOffloadKind) const
void addClangTargetOptions(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args,
Action::OffloadKind DeviceOffloadKind) const
Description
Add options that need to be passed to cc1 for this target.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:67
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
- Action::OffloadKind DeviceOffloadKind
¶std::string buildCompilerRTBasename(
const llvm::opt::ArgList& Args,
llvm::StringRef Component,
clang::driver::ToolChain::FileType Type =
ToolChain::FT_Static,
bool AddArch = true) const
std::string buildCompilerRTBasename(
const llvm::opt::ArgList& Args,
llvm::StringRef Component,
clang::driver::ToolChain::FileType Type =
ToolChain::FT_Static,
bool AddArch = true) const
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:36
Parameters
- const llvm::opt::ArgList& Args
- llvm::StringRef Component
- clang::driver::ToolChain::FileType Type = ToolChain::FT_Static
- bool AddArch = true
¶clang::driver::Tool* buildLinker() const
clang::driver::Tool* buildLinker() const
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:34
¶std::string computeSysRoot() const
std::string computeSysRoot() const
Description
Return the sysroot, possibly searching for a default sysroot using target-specific logic.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:77
¶void findMultilibs(const clang::driver::Driver& D,
const llvm::Triple& Triple,
const llvm::opt::ArgList& Args)
void findMultilibs(const clang::driver::Driver& D,
const llvm::Triple& Triple,
const llvm::opt::ArgList& Args)
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:30
Parameters
- const clang::driver::Driver& D
- const llvm::Triple& Triple
- const llvm::opt::ArgList& Args
¶std::string getCompilerRTPath() const
std::string getCompilerRTPath() const
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:53
¶const char* getDefaultLinker() const
const char* getDefaultLinker() const
Description
GetDefaultLinker - Get the default linker to use.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:62
¶llvm::StringRef getOSLibName() const
llvm::StringRef getOSLibName() const
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:51
¶std::string getRuntimesDir() const
std::string getRuntimesDir() const
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:64
¶static bool handlesTarget(
const llvm::Triple& Triple)
static bool handlesTarget(
const llvm::Triple& Triple)
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:28
Parameters
- const llvm::Triple& Triple
¶bool isCrossCompiling() const
bool isCrossCompiling() const
Description
Returns true if the toolchain is targeting a non-native architecture.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:43
¶bool isPICDefault() const
bool isPICDefault() const
Description
Test whether this toolchain defaults to PIC.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:44
¶bool isPICDefaultForced() const
bool isPICDefaultForced() const
Description
Tests whether this toolchain forces its default for PIC, PIE or non-PIC. If this returns true, any PIC related flags should be ignored and instead the results of \c isPICDefault() and \c isPIEDefault(const llvm::opt::ArgList &Args ) are used exclusively.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:48
¶bool isPIEDefault(
const llvm::opt::ArgList& Args) const
bool isPIEDefault(
const llvm::opt::ArgList& Args) const
Description
Test whether this toolchain defaults to PIE.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:45
Parameters
- const llvm::opt::ArgList& Args
¶bool useIntegratedAs() const
bool useIntegratedAs() const
Description
Check if the toolchain should use the integrated assembler.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:42
¶~BareMetal()
~BareMetal()
Description
@ }
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:26