class WebAssembly
Declaration
class WebAssembly : public ToolChain { /* full declaration omitted */ };
Description
ToolChain - Access to tools for a single platform.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:38
Inherits from: ToolChain
Member Variables
Inherited from ToolChain:
Method Overview
- private void AddCXXStdlibLibArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args) const
- private void AddClangSystemIncludeArgs(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args) const
- private clang::driver::ToolChain::CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList & Args) const
- private clang::driver::ToolChain::CXXStdlibType GetDefaultCXXStdlibType() const
- private unsigned int GetDefaultDwarfVersion() const
- private clang::driver::ToolChain::RuntimeLibType GetDefaultRuntimeLibType() const
- private bool HasNativeLLVMSupport() const
- private bool IsIntegratedAssemblerDefault() const
- private bool IsMathErrnoDefault() const
- private bool IsObjCNonFragileABIDefault() const
- private bool SupportsProfiling() const
- private bool UseObjCMixedDispatch() const
- public WebAssembly(const clang::driver::Driver & D, const llvm::Triple & Triple, const llvm::opt::ArgList & Args)
- private void addClangTargetOptions(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args, Action::OffloadKind DeviceOffloadKind) const
- private void addLibCxxIncludePaths(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args) const
- private void addLibStdCXXIncludePaths(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args) const
- private clang::driver::Tool * buildLinker() const
- private const char * getDefaultLinker() const
- private std::string getMultiarchTriple(const clang::driver::Driver & D, const llvm::Triple & TargetTriple, llvm::StringRef SysRoot) const
- private clang::SanitizerMask getSupportedSanitizers() const
- private bool hasBlocksRuntime() const
- private bool isPICDefault() const
- private bool isPICDefaultForced() const
- private bool isPIEDefault(const llvm::opt::ArgList & Args) const
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/WebAssembly.h:67
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/WebAssembly.h:64
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/WebAssembly.h:62
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
¶clang::driver::ToolChain::CXXStdlibType
GetCXXStdlibType(
const llvm::opt::ArgList& Args) const
clang::driver::ToolChain::CXXStdlibType
GetCXXStdlibType(
const llvm::opt::ArgList& Args) const
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:60
Parameters
- const llvm::opt::ArgList& Args
¶clang::driver::ToolChain::CXXStdlibType
GetDefaultCXXStdlibType() const
clang::driver::ToolChain::CXXStdlibType
GetDefaultCXXStdlibType() const
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:73
¶unsigned int GetDefaultDwarfVersion() const
unsigned int GetDefaultDwarfVersion() const
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:54
¶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/WebAssembly.h:59
¶bool HasNativeLLVMSupport() const
bool HasNativeLLVMSupport() const
Description
HasNativeLTOLinker - Check whether the linker and related tools have native LLVM support.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:53
¶bool IsIntegratedAssemblerDefault() const
bool IsIntegratedAssemblerDefault() const
Description
IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:50
¶bool IsMathErrnoDefault() const
bool IsMathErrnoDefault() const
Description
IsMathErrnoDefault - Does this tool chain use -fmath-errno by default.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:44
¶bool IsObjCNonFragileABIDefault() const
bool IsObjCNonFragileABIDefault() const
Description
IsObjCNonFragileABIDefault - Does this tool chain set -fobjc-nonfragile-abi by default.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:45
¶bool SupportsProfiling() const
bool SupportsProfiling() const
Description
SupportsProfiling - Does this tool chain support -pg.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:52
¶bool UseObjCMixedDispatch() const
bool UseObjCMixedDispatch() const
Description
UseObjCMixedDispatchDefault - When using non-legacy dispatch, should the mixed dispatch method be used?
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:46
¶WebAssembly(const clang::driver::Driver& D,
const llvm::Triple& Triple,
const llvm::opt::ArgList& Args)
WebAssembly(const clang::driver::Driver& D,
const llvm::Triple& Triple,
const llvm::opt::ArgList& Args)
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:40
Parameters
- const clang::driver::Driver& D
- const llvm::Triple& Triple
- const llvm::opt::ArgList& Args
¶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/WebAssembly.h:56
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
- Action::OffloadKind DeviceOffloadKind
¶void addLibCxxIncludePaths(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
void addLibCxxIncludePaths(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:83
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
¶void addLibStdCXXIncludePaths(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
void addLibStdCXXIncludePaths(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:85
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
¶clang::driver::Tool* buildLinker() const
clang::driver::Tool* buildLinker() const
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:77
¶const char* getDefaultLinker() const
const char* getDefaultLinker() const
Description
GetDefaultLinker - Get the default linker to use.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:71
¶std::string getMultiarchTriple(
const clang::driver::Driver& D,
const llvm::Triple& TargetTriple,
llvm::StringRef SysRoot) const
std::string getMultiarchTriple(
const clang::driver::Driver& D,
const llvm::Triple& TargetTriple,
llvm::StringRef SysRoot) const
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:79
Parameters
- const clang::driver::Driver& D
- const llvm::Triple& TargetTriple
- llvm::StringRef SysRoot
¶clang::SanitizerMask getSupportedSanitizers()
const
clang::SanitizerMask getSupportedSanitizers()
const
Description
Return sanitizers which are available in this toolchain.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:69
¶bool hasBlocksRuntime() const
bool hasBlocksRuntime() const
Description
hasBlocksRuntime - Given that the user is compiling with -fblocks, does this tool chain guarantee the existence of a blocks runtime? FIXME: this really belongs on some sort of DeploymentTarget abstraction
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:51
¶bool isPICDefault() const
bool isPICDefault() const
Description
Test whether this toolchain defaults to PIC.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:47
¶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/WebAssembly.h:49
¶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/WebAssembly.h:48
Parameters
- const llvm::opt::ArgList& Args