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) constDescription
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) constDescription
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) constDescription
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) constDeclared 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() constDeclared at: clang/lib/Driver/ToolChains/BareMetal.h:58
¶clang::driver::ToolChain::RuntimeLibType
GetDefaultRuntimeLibType() const
clang::driver::ToolChain::RuntimeLibType
GetDefaultRuntimeLibType() constDescription
GetDefaultRuntimeLibType - Get the default runtime library variant to use.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:55
¶bool SupportsProfiling() const
bool SupportsProfiling() constDescription
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) constDescription
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) constDeclared 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() constDeclared at: clang/lib/Driver/ToolChains/BareMetal.h:34
¶std::string computeSysRoot() const
std::string computeSysRoot() constDescription
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() constDeclared at: clang/lib/Driver/ToolChains/BareMetal.h:53
¶const char* getDefaultLinker() const
const char* getDefaultLinker() constDescription
GetDefaultLinker - Get the default linker to use.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:62
¶llvm::StringRef getOSLibName() const
llvm::StringRef getOSLibName() constDeclared at: clang/lib/Driver/ToolChains/BareMetal.h:51
¶std::string getRuntimesDir() const
std::string getRuntimesDir() constDeclared 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() constDescription
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() constDescription
Test whether this toolchain defaults to PIC.
Declared at: clang/lib/Driver/ToolChains/BareMetal.h:44
¶bool isPICDefaultForced() const
bool isPICDefaultForced() constDescription
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) constDescription
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() constDescription
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