clang
3.9.0
|
This corresponds to a single GCC Multilib, or a segment of one controlled by a command line flag. More...
#include <Multilib.h>
Public Types | |
typedef std::vector< std::string > | flags_list |
Public Member Functions | |
Multilib (StringRef GCCSuffix="", StringRef OSSuffix="", StringRef IncludeSuffix="") | |
const std::string & | gccSuffix () const |
Get the detected GCC installation path suffix for the multi-arch target variant. More... | |
Multilib & | gccSuffix (StringRef S) |
Set the GCC installation path suffix. More... | |
const std::string & | osSuffix () const |
Get the detected os path suffix for the multi-arch target variant. More... | |
Multilib & | osSuffix (StringRef S) |
Set the os path suffix. More... | |
const std::string & | includeSuffix () const |
Get the include directory suffix. More... | |
Multilib & | includeSuffix (StringRef S) |
Set the include directory suffix. More... | |
const flags_list & | flags () const |
Get the flags that indicate or contraindicate this multilib's use All elements begin with either '+' or '-'. More... | |
flags_list & | flags () |
Multilib & | flag (StringRef F) |
Add a flag to the flags list. More... | |
void | print (raw_ostream &OS) const |
print summary of the Multilib More... | |
bool | isValid () const |
Check whether any of the 'against' flags contradict the 'for' flags. More... | |
bool | isDefault () const |
Check whether the default is selected. More... | |
bool | operator== (const Multilib &Other) const |
This corresponds to a single GCC Multilib, or a segment of one controlled by a command line flag.
Definition at line 26 of file Multilib.h.
typedef std::vector<std::string> clang::driver::Multilib::flags_list |
Definition at line 28 of file Multilib.h.
Multilib::Multilib | ( | StringRef | GCCSuffix = "" , |
StringRef | OSSuffix = "" , |
||
StringRef | IncludeSuffix = "" |
||
) |
Definition at line 59 of file Multilib.cpp.
References normalizePathSegment().
|
inline |
Add a flag to the flags list.
Definition at line 75 of file Multilib.h.
Referenced by findAndroidArmMultilibs(), findBiarchMultilibs(), findMipsCsMultilibs(), findMipsImgMultilibs(), findMipsMtiMultilibs(), and findMipsMuslMultilibs().
|
inline |
Get the flags that indicate or contraindicate this multilib's use All elements begin with either '+' or '-'.
Definition at line 72 of file Multilib.h.
Referenced by compose(), clang::driver::MultilibSet::Maybe(), and clang::driver::MultilibSet::select().
|
inline |
Definition at line 73 of file Multilib.h.
|
inline |
Get the detected GCC installation path suffix for the multi-arch target variant.
Always starts with a '/', unless empty
Definition at line 42 of file Multilib.h.
Referenced by compose(), clang::driver::MultilibSet::FilterOut(), findBiarchMultilibs(), findMipsCsMultilibs(), findMipsImgMultilibs(), findMipsMtiMultilibs(), clang::driver::Driver::HandleImmediateArgs(), clang::driver::toolchains::Linux::Linux(), and operator==().
Multilib & Multilib::gccSuffix | ( | StringRef | S | ) |
Set the GCC installation path suffix.
Definition at line 67 of file Multilib.cpp.
References normalizePathSegment(), and S.
|
inline |
Get the include directory suffix.
Always starts with a '/', unless empty
Definition at line 62 of file Multilib.h.
Referenced by clang::driver::toolchains::Linux::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::MyriadToolChain::AddClangCXXStdlibIncludeArgs(), compose(), findMipsCsMultilibs(), findMipsImgMultilibs(), findMipsMtiMultilibs(), and operator==().
Multilib & Multilib::includeSuffix | ( | StringRef | S | ) |
Set the include directory suffix.
Definition at line 79 of file Multilib.cpp.
References normalizePathSegment(), and S.
|
inline |
Check whether the default is selected.
Definition at line 88 of file Multilib.h.
Referenced by clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::print().
bool Multilib::isValid | ( | ) | const |
Check whether any of the 'against' flags contradict the 'for' flags.
Definition at line 99 of file Multilib.cpp.
References I.
Referenced by clang::driver::MultilibSet::Either().
Definition at line 115 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 52 of file Multilib.h.
Referenced by compose(), clang::driver::toolchains::Linux::computeSysRoot(), clang::driver::toolchains::MipsLLVMToolChain::computeSysRoot(), findMipsImgMultilibs(), findMipsMtiMultilibs(), findMipsMuslMultilibs(), clang::driver::toolchains::MipsLLVMToolChain::getCompilerRT(), clang::driver::toolchains::Linux::Linux(), and operator==().
Multilib & Multilib::osSuffix | ( | StringRef | S | ) |
Set the os path suffix.
Definition at line 73 of file Multilib.cpp.
References normalizePathSegment(), and S.
void Multilib::print | ( | raw_ostream & | OS | ) | const |
print summary of the Multilib
Definition at line 85 of file Multilib.cpp.
Referenced by clang::driver::operator<<().