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:

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/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

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

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

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)

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

Declared at: clang/lib/Driver/ToolChains/BareMetal.h:58

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

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

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

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

Declared at: clang/lib/Driver/ToolChains/BareMetal.h:34

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)

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

Declared at: clang/lib/Driver/ToolChains/BareMetal.h:53

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

Declared at: clang/lib/Driver/ToolChains/BareMetal.h:51

std::string getRuntimesDir() const

Declared at: clang/lib/Driver/ToolChains/BareMetal.h:64

static bool handlesTarget(
    const llvm::Triple& Triple)

Declared at: clang/lib/Driver/ToolChains/BareMetal.h:28

Parameters

const llvm::Triple& Triple

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

Description

Test whether this toolchain defaults to PIC.

Declared at: clang/lib/Driver/ToolChains/BareMetal.h:44

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

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

Description

Check if the toolchain should use the integrated assembler.

Declared at: clang/lib/Driver/ToolChains/BareMetal.h:42

~BareMetal()

Description

@ }

Declared at: clang/lib/Driver/ToolChains/BareMetal.h:26