clang 17.0.0git
|
This corresponds to a single GCC Multilib, or a segment of one controlled by a command line flag. More...
#include "clang/Driver/Multilib.h"
Public Types | |
using | flags_list = std::vector< std::string > |
Public Member Functions | |
Multilib (StringRef GCCSuffix={}, StringRef OSSuffix={}, StringRef IncludeSuffix={}, const flags_list &Flags=flags_list()) | |
GCCSuffix, OSSuffix & IncludeSuffix will be appended directly to the sysroot string so they must either be empty or begin with a '/' character. | |
const std::string & | gccSuffix () const |
Get the detected GCC installation path suffix for the multi-arch target variant. | |
const std::string & | osSuffix () const |
Get the detected os path suffix for the multi-arch target variant. | |
const std::string & | includeSuffix () const |
Get the include directory suffix. | |
const flags_list & | flags () const |
Get the flags that indicate or contraindicate this multilib's use All elements begin with either '+' or '-'. | |
LLVM_DUMP_METHOD void | dump () const |
void | print (raw_ostream &OS) const |
print summary of the Multilib | |
bool | isDefault () const |
Check whether the default is selected. | |
bool | operator== (const Multilib &Other) const |
This corresponds to a single GCC Multilib, or a segment of one controlled by a command line flag.
See also MultilibBuilder for building a multilib by mutating it incrementally.
Definition at line 30 of file Multilib.h.
using clang::driver::Multilib::flags_list = std::vector<std::string> |
Definition at line 32 of file Multilib.h.
Multilib::Multilib | ( | StringRef | GCCSuffix = {} , |
StringRef | OSSuffix = {} , |
||
StringRef | IncludeSuffix = {} , |
||
const flags_list & | Flags = flags_list() |
||
) |
GCCSuffix, OSSuffix & IncludeSuffix will be appended directly to the sysroot string so they must either be empty or begin with a '/' character.
This is enforced with an assert in the constructor.
Definition at line 28 of file Multilib.cpp.
LLVM_DUMP_METHOD void Multilib::dump | ( | ) | const |
Definition at line 40 of file Multilib.cpp.
References print().
|
inline |
Get the flags that indicate or contraindicate this multilib's use All elements begin with either '+' or '-'.
Definition at line 62 of file Multilib.h.
Referenced by clang::driver::MultilibSet::select().
|
inline |
Get the detected GCC installation path suffix for the multi-arch target variant.
Always starts with a '/', unless empty
Definition at line 50 of file Multilib.h.
Referenced by clang::driver::toolchains::Generic_GCC::AddMultilibPaths(), findMipsImgMultilibs(), findMipsMtiMultilibs(), findRISCVBareMetalMultilibs(), clang::driver::toolchains::OHOS::getCompilerRT(), clang::driver::ToolChain::getCompilerRTPath(), clang::driver::toolchains::OHOS::getRuntimePaths(), clang::driver::Driver::HandleImmediateArgs(), clang::driver::toolchains::MSP430ToolChain::MSP430ToolChain(), clang::driver::toolchains::OHOS::OHOS(), operator==(), and clang::driver::toolchains::Solaris::Solaris().
|
inline |
Get the include directory suffix.
Always starts with a '/', unless empty
Definition at line 58 of file Multilib.h.
Referenced by clang::driver::toolchains::Generic_GCC::addGCCLibStdCxxIncludePaths(), clang::driver::toolchains::CSKYToolChain::addLibStdCxxIncludePaths(), clang::driver::toolchains::Linux::addLibStdCxxIncludePaths(), clang::driver::toolchains::MyriadToolChain::addLibStdCxxIncludePaths(), clang::driver::toolchains::RISCVToolChain::addLibStdCxxIncludePaths(), clang::driver::toolchains::Solaris::addLibStdCxxIncludePaths(), findMipsCsMultilibs(), findMipsImgMultilibs(), findMipsMtiMultilibs(), and operator==().
|
inline |
Check whether the default is selected.
Definition at line 69 of file Multilib.h.
Referenced by clang::driver::toolchains::Fuchsia::Fuchsia(), and clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::print().
Definition at line 57 of file Multilib.cpp.
References gccSuffix(), includeSuffix(), and osSuffix().
|
inline |
Get the detected os path suffix for the multi-arch target variant.
Always starts with a '/', unless empty
Definition at line 54 of file Multilib.h.
Referenced by clang::driver::toolchains::Generic_GCC::AddMultiarchPaths(), clang::driver::toolchains::Generic_GCC::AddMultilibPaths(), clang::driver::toolchains::BareMetal::computeSysRoot(), clang::driver::toolchains::Linux::computeSysRoot(), clang::driver::toolchains::MipsLLVMToolChain::computeSysRoot(), clang::driver::toolchains::CSKYToolChain::CSKYToolChain(), findMipsMuslMultilibs(), clang::driver::toolchains::MipsLLVMToolChain::getCompilerRT(), clang::driver::toolchains::Linux::Linux(), and operator==().
void Multilib::print | ( | raw_ostream & | OS | ) | const |
print summary of the Multilib
Definition at line 44 of file Multilib.cpp.
Referenced by dump(), and clang::driver::operator<<().