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:

protected Multilibs
protected SelectedMultilib

Method Overview

Inherited from ToolChain:

Methods

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

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

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

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:60

Parameters

const llvm::opt::ArgList& Args

clang::driver::ToolChain::CXXStdlibType
GetDefaultCXXStdlibType() const

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:73

unsigned int GetDefaultDwarfVersion() const

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:54

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

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

Description

IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default.

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:50

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

Description

IsObjCNonFragileABIDefault - Does this tool chain set -fobjc-nonfragile-abi by default.

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:45

bool SupportsProfiling() const

Description

SupportsProfiling - Does this tool chain support -pg.

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:52

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)

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

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

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

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:85

Parameters

const llvm::opt::ArgList& DriverArgs
llvm::opt::ArgStringList& CC1Args

clang::driver::Tool* buildLinker() const

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:77

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

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

Description

Return sanitizers which are available in this toolchain.

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:69

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

Description

Test whether this toolchain defaults to PIC.

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:47

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

Description

Test whether this toolchain defaults to PIE.

Declared at: clang/lib/Driver/ToolChains/WebAssembly.h:48

Parameters

const llvm::opt::ArgList& Args