clang 20.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(), StringRef ExclusiveGroup={}) | |
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 '!'. | |
const std::string & | exclusiveGroup () const |
Get the exclusive group label. | |
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 32 of file Multilib.h.
using clang::driver::Multilib::flags_list = std::vector<std::string> |
Definition at line 34 of file Multilib.h.
Multilib::Multilib | ( | StringRef | GCCSuffix = {} , |
StringRef | OSSuffix = {} , |
||
StringRef | IncludeSuffix = {} , |
||
const flags_list & | Flags = flags_list() , |
||
StringRef | ExclusiveGroup = {} |
||
) |
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 32 of file Multilib.cpp.
LLVM_DUMP_METHOD void Multilib::dump | ( | ) | const |
Definition at line 45 of file Multilib.cpp.
References print().
|
inline |
Get the exclusive group label.
Definition at line 76 of file Multilib.h.
|
inline |
Get the flags that indicate or contraindicate this multilib's use All elements begin with either '-' or '!'.
Definition at line 73 of file Multilib.h.
Referenced by findMultilibsFromYAML().
|
inline |
Get the detected GCC installation path suffix for the multi-arch target variant.
Always starts with a '/', unless empty
Definition at line 61 of file Multilib.h.
Referenced by clang::driver::toolchains::Fuchsia::AddClangCXXStdlibIncludeArgs(), findMipsImgMultilibs(), findMipsMtiMultilibs(), findRISCVBareMetalMultilibs(), clang::driver::toolchains::OHOS::getCompilerRT(), 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 69 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::RISCVToolChain::addLibStdCxxIncludePaths(), clang::driver::toolchains::Solaris::addLibStdCxxIncludePaths(), findMipsCsMultilibs(), findMipsImgMultilibs(), findMipsMtiMultilibs(), and operator==().
|
inline |
Check whether the default is selected.
Definition at line 83 of file Multilib.h.
Referenced by clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::print().
Definition at line 62 of file Multilib.cpp.
References gccSuffix(), includeSuffix(), osSuffix(), and clang::Other.
|
inline |
Get the detected os path suffix for the multi-arch target variant.
Always starts with a '/', unless empty
Definition at line 65 of file Multilib.h.
Referenced by clang::driver::toolchains::Generic_GCC::AddMultiarchPaths(), clang::driver::toolchains::Linux::computeSysRoot(), findMipsMuslMultilibs(), and operator==().
void Multilib::print | ( | raw_ostream & | OS | ) | const |
print summary of the Multilib
Definition at line 49 of file Multilib.cpp.
Referenced by dump(), and clang::driver::operator<<().