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) constDescription
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) 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/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) 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/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) constDeclared 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() constDeclared at: clang/lib/Driver/ToolChains/WebAssembly.h:73
¶unsigned int GetDefaultDwarfVersion() const
unsigned int GetDefaultDwarfVersion() constDeclared at: clang/lib/Driver/ToolChains/WebAssembly.h:54
¶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/WebAssembly.h:59
¶bool HasNativeLLVMSupport() const
bool HasNativeLLVMSupport() constDescription
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() constDescription
IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:50
¶bool IsMathErrnoDefault() const
bool IsMathErrnoDefault() constDescription
IsMathErrnoDefault - Does this tool chain use -fmath-errno by default.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:44
¶bool IsObjCNonFragileABIDefault() const
bool IsObjCNonFragileABIDefault() constDescription
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() constDescription
SupportsProfiling - Does this tool chain support -pg.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:52
¶bool UseObjCMixedDispatch() const
bool UseObjCMixedDispatch() constDescription
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) constDescription
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) constDeclared 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) constDeclared 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() constDeclared at: clang/lib/Driver/ToolChains/WebAssembly.h:77
¶const char* getDefaultLinker() const
const char* getDefaultLinker() constDescription
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) constDeclared 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()
constDescription
Return sanitizers which are available in this toolchain.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:69
¶bool hasBlocksRuntime() const
bool hasBlocksRuntime() constDescription
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() constDescription
Test whether this toolchain defaults to PIC.
Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:47
¶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/WebAssembly.h:49
¶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/WebAssembly.h:48
Parameters
- const llvm::opt::ArgList& Args