clang 22.0.0git
BareMetal.cpp File Reference
#include "BareMetal.h"
#include "Gnu.h"
#include "clang/Driver/CommonArgs.h"
#include "clang/Driver/InputInfo.h"
#include "Arch/AArch64.h"
#include "Arch/ARM.h"
#include "Arch/RISCV.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/Driver.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 <sstream>

Go to the source code of this file.

Functions

static bool isRISCVBareMetal (const llvm::Triple &Triple)
static bool isPPCBareMetal (const llvm::Triple &Triple)
 Is the triple powerpc[64][le]-*-none-eabi?
static bool findRISCVMultilibs (const Driver &D, const llvm::Triple &TargetTriple, const ArgList &Args, DetectedMultilibs &Result)
static std::string computeClangRuntimesSysRoot (const Driver &D, bool IncludeTriple)
static bool detectGCCToolchainAdjacent (const Driver &D)
static void addMultilibsFilePaths (const Driver &D, const MultilibSet &Multilibs, const Multilib &Multilib, StringRef InstallPath, ToolChain::path_list &Paths)
static void findMultilibsFromYAML (const ToolChain &TC, const Driver &D, StringRef MultilibPath, const ArgList &Args, DetectedMultilibs &Result, SmallVector< StringRef > &CustomFlagsMacroDefines)
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

◆ addMultilibsFilePaths()

void addMultilibsFilePaths ( const Driver & D,
const MultilibSet & Multilibs,
const Multilib & Multilib,
StringRef InstallPath,
ToolChain::path_list & Paths )
static

◆ computeClangRuntimesSysRoot()

◆ detectGCCToolchainAdjacent()

◆ findMultilibsFromYAML()

◆ findRISCVMultilibs()

◆ getMultilibConfigPath()

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

◆ isPPCBareMetal()

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

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

Definition at line 49 of file BareMetal.cpp.

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

◆ isRISCVBareMetal()

Variable Documentation

◆ MultilibFilename

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

Definition at line 304 of file BareMetal.cpp.

Referenced by getMultilibConfigPath().