clang 22.0.0git
|
#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" |
|
static |
Definition at line 205 of file BareMetal.cpp.
References clang::driver::tools::addPathIfExists(), D, clang::driver::MultilibSet::filePathsCallback(), and Path.
Referenced by clang::driver::toolchains::BareMetal::BareMetal(), and clang::driver::toolchains::CSKYToolChain::CSKYToolChain().
Definition at line 118 of file BareMetal.cpp.
References D.
Referenced by clang::driver::toolchains::BareMetal::computeSysRoot(), clang::driver::toolchains::BareMetal::findMultilibs(), and getMultilibConfigPath().
Definition at line 149 of file BareMetal.cpp.
References D.
Referenced by clang::driver::toolchains::BareMetal::computeSysRoot(), clang::driver::tools::baremetal::Linker::ConstructJob(), clang::driver::toolchains::BareMetal::findMultilibs(), and clang::driver::toolchains::BareMetal::getCompilerRTPath().
|
static |
Definition at line 262 of file BareMetal.cpp.
References D, clang::driver::Multilib::flags(), clang::driver::Multilib::getErrorMessage(), clang::driver::ToolChain::getMultilibFlags(), clang::driver::Multilib::isError(), clang::driver::MultilibSet::parseYaml(), and clang::Result.
Referenced by clang::driver::toolchains::BareMetal::findMultilibs().
|
static |
Definition at line 54 of file BareMetal.cpp.
References clang::driver::tools::addMultilibFlag(), Arch, D, clang::driver::MultilibSetBuilder::Either(), clang::driver::MultilibBuilder::flag(), clang::driver::tools::riscv::getRISCVABI(), clang::driver::tools::riscv::getRISCVArch(), and clang::driver::MultilibSetBuilder::makeMultilibSet().
Referenced by clang::driver::toolchains::BareMetal::findMultilibs().
|
static |
Definition at line 307 of file BareMetal.cpp.
References computeClangRuntimesSysRoot(), D, and MultilibFilename.
Referenced by clang::driver::toolchains::BareMetal::findMultilibs().
|
static |
Is the triple powerpc[64][le]-*-none-eabi?
Definition at line 49 of file BareMetal.cpp.
Referenced by clang::driver::toolchains::BareMetal::handlesTarget().
|
static |
Definition at line 35 of file BareMetal.cpp.
Referenced by clang::driver::toolchains::BareMetal::BareMetal(), clang::driver::toolchains::BareMetal::findMultilibs(), and clang::driver::toolchains::BareMetal::handlesTarget().
|
staticconstexpr |
Definition at line 304 of file BareMetal.cpp.
Referenced by getMultilibConfigPath().