clang 19.0.0git
Functions | Variables
BareMetal.cpp File Reference
#include "BareMetal.h"
#include "CommonArgs.h"
#include "Gnu.h"
#include "clang/Driver/InputInfo.h"
#include "Arch/ARM.h"
#include "Arch/RISCV.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/Driver.h"
#include "clang/Driver/DriverDiagnostic.h"
#include "clang/Driver/MultilibBuilder.h"
#include "clang/Driver/Options.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/Support/raw_ostream.h"
#include <sstream>

Go to the source code of this file.

Functions

static bool findRISCVMultilibs (const Driver &D, const llvm::Triple &TargetTriple, const ArgList &Args, DetectedMultilibs &Result)
 
static bool isARMBareMetal (const llvm::Triple &Triple)
 Is the triple {arm,armeb,thumb,thumbeb}-none-none-{eabi,eabihf} ?
 
static bool isAArch64BareMetal (const llvm::Triple &Triple)
 Is the triple {aarch64.aarch64_be}-none-elf?
 
static bool isRISCVBareMetal (const llvm::Triple &Triple)
 
static bool isPPCBareMetal (const llvm::Triple &Triple)
 Is the triple powerpc[64][le]-*-none-eabi?
 
static void findMultilibsFromYAML (const ToolChain &TC, const Driver &D, StringRef MultilibPath, const ArgList &Args, DetectedMultilibs &Result)
 
static std::string computeBaseSysRoot (const Driver &D, const llvm::Triple &Triple)
 

Variables

static constexpr llvm::StringLiteral MultilibFilename = "multilib.yaml"
 

Function Documentation

◆ computeBaseSysRoot()

static std::string computeBaseSysRoot ( const Driver D,
const llvm::Triple &  Triple 
)
static

◆ findMultilibsFromYAML()

static void findMultilibsFromYAML ( const ToolChain TC,
const Driver D,
StringRef  MultilibPath,
const ArgList &  Args,
DetectedMultilibs Result 
)
static

◆ findRISCVMultilibs()

static bool findRISCVMultilibs ( const Driver D,
const llvm::Triple &  TargetTriple,
const ArgList &  Args,
DetectedMultilibs Result 
)
static

◆ isAArch64BareMetal()

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

Is the triple {aarch64.aarch64_be}-none-elf?

Definition at line 139 of file BareMetal.cpp.

Referenced by clang::driver::toolchains::BareMetal::handlesTarget().

◆ isARMBareMetal()

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

Is the triple {arm,armeb,thumb,thumbeb}-none-none-{eabi,eabihf} ?

Definition at line 118 of file BareMetal.cpp.

Referenced by clang::driver::tools::baremetal::Linker::ConstructJob(), and clang::driver::toolchains::BareMetal::handlesTarget().

◆ isPPCBareMetal()

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

Is the triple powerpc[64][le]-*-none-eabi?

Definition at line 167 of file BareMetal.cpp.

Referenced by clang::driver::toolchains::BareMetal::handlesTarget().

◆ isRISCVBareMetal()

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

Variable Documentation

◆ MultilibFilename

constexpr llvm::StringLiteral MultilibFilename = "multilib.yaml"
staticconstexpr