clang 20.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 std::string computeBaseSysRoot (const Driver &D, bool IncludeTriple)
 
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::optional< llvm::SmallString< 128 > > getMultilibConfigPath (const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
 

Variables

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

Function Documentation

◆ computeBaseSysRoot()

static std::string computeBaseSysRoot ( const Driver D,
bool  IncludeTriple 
)
static

Definition at line 100 of file BareMetal.cpp.

References D.

Referenced by clang::driver::toolchains::BareMetal::findMultilibs(), and getMultilibConfigPath().

◆ 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

◆ getMultilibConfigPath()

static std::optional< llvm::SmallString< 128 > > getMultilibConfigPath ( const Driver D,
const llvm::Triple &  Triple,
const ArgList &  Args 
)
static

◆ isAArch64BareMetal()

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

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

Definition at line 132 of file BareMetal.cpp.

Referenced by 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 160 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

Definition at line 205 of file BareMetal.cpp.

Referenced by getMultilibConfigPath().