clang
17.0.0git
|
#include "clang/Driver/Multilib.h"
Public Types | |
using | multilib_list = std::vector< Multilib > |
using | iterator = multilib_list::iterator |
using | const_iterator = multilib_list::const_iterator |
using | IncludeDirsFunc = std::function< std::vector< std::string >(const Multilib &M)> |
using | FilterCallback = llvm::function_ref< bool(const Multilib &)> |
Public Member Functions | |
MultilibSet ()=default | |
MultilibSet & | Maybe (const Multilib &M) |
Add an optional Multilib segment. More... | |
MultilibSet & | Either (const Multilib &M1, const Multilib &M2) |
Add a set of mutually incompatible Multilib segments. More... | |
MultilibSet & | Either (const Multilib &M1, const Multilib &M2, const Multilib &M3) |
MultilibSet & | Either (const Multilib &M1, const Multilib &M2, const Multilib &M3, const Multilib &M4) |
MultilibSet & | Either (const Multilib &M1, const Multilib &M2, const Multilib &M3, const Multilib &M4, const Multilib &M5) |
MultilibSet & | Either (ArrayRef< Multilib > Ms) |
MultilibSet & | FilterOut (FilterCallback F) |
Filter out some subset of the Multilibs using a user defined callback. More... | |
MultilibSet & | FilterOut (const char *Regex) |
Filter out those Multilibs whose gccSuffix matches the given expression. More... | |
void | push_back (const Multilib &M) |
Add a completed Multilib to the set. More... | |
void | combineWith (const MultilibSet &MS) |
Union this set of multilibs with another. More... | |
void | clear () |
Remove all of the multilibs from the set. More... | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
bool | select (const Multilib::flags_list &Flags, Multilib &M) const |
Pick the best multilib in the set,. More... | |
unsigned | size () const |
LLVM_DUMP_METHOD void | dump () const |
void | print (raw_ostream &OS) const |
MultilibSet & | setIncludeDirsCallback (IncludeDirsFunc F) |
const IncludeDirsFunc & | includeDirsCallback () const |
MultilibSet & | setFilePathsCallback (IncludeDirsFunc F) |
const IncludeDirsFunc & | filePathsCallback () const |
Definition at line 114 of file Multilib.h.
using clang::driver::MultilibSet::const_iterator = multilib_list::const_iterator |
Definition at line 118 of file Multilib.h.
using clang::driver::MultilibSet::FilterCallback = llvm::function_ref<bool(const Multilib &)> |
Definition at line 121 of file Multilib.h.
using clang::driver::MultilibSet::IncludeDirsFunc = std::function<std::vector<std::string>(const Multilib &M)> |
Definition at line 120 of file Multilib.h.
using clang::driver::MultilibSet::iterator = multilib_list::iterator |
Definition at line 117 of file Multilib.h.
using clang::driver::MultilibSet::multilib_list = std::vector<Multilib> |
Definition at line 116 of file Multilib.h.
|
default |
|
inline |
Definition at line 160 of file Multilib.h.
|
inline |
Definition at line 161 of file Multilib.h.
|
inline |
Remove all of the multilibs from the set.
Definition at line 158 of file Multilib.h.
void MultilibSet::combineWith | ( | const MultilibSet & | MS | ) |
Union this set of multilibs with another.
Definition at line 234 of file Multilib.cpp.
LLVM_DUMP_METHOD void MultilibSet::dump | ( | ) | const |
Definition at line 284 of file Multilib.cpp.
References print().
MultilibSet & MultilibSet::Either | ( | ArrayRef< Multilib > | Ms | ) |
Definition at line 191 of file Multilib.cpp.
References compose(), and clang::driver::Multilib::isValid().
MultilibSet & MultilibSet::Either | ( | const Multilib & | M1, |
const Multilib & | M2 | ||
) |
Add a set of mutually incompatible Multilib segments.
Definition at line 152 of file Multilib.cpp.
Referenced by Either(), findAndroidArmMultilibs(), findCSKYMultilibs(), findMipsAndroidMultilibs(), findMipsCsMultilibs(), findMipsImgMultilibs(), findMipsMtiMultilibs(), findMipsMuslMultilibs(), findRISCVBareMetalMultilibs(), findRISCVMultilibs(), and Maybe().
MultilibSet & MultilibSet::Either | ( | const Multilib & | M1, |
const Multilib & | M2, | ||
const Multilib & | M3 | ||
) |
Definition at line 156 of file Multilib.cpp.
References Either().
MultilibSet & MultilibSet::Either | ( | const Multilib & | M1, |
const Multilib & | M2, | ||
const Multilib & | M3, | ||
const Multilib & | M4 | ||
) |
Definition at line 161 of file Multilib.cpp.
References Either().
MultilibSet & MultilibSet::Either | ( | const Multilib & | M1, |
const Multilib & | M2, | ||
const Multilib & | M3, | ||
const Multilib & | M4, | ||
const Multilib & | M5 | ||
) |
Definition at line 166 of file Multilib.cpp.
References Either().
|
inline |
Definition at line 163 of file Multilib.h.
|
inline |
Definition at line 164 of file Multilib.h.
|
inline |
Definition at line 186 of file Multilib.h.
Referenced by clang::driver::toolchains::Fuchsia::Fuchsia().
MultilibSet & MultilibSet::FilterOut | ( | const char * | Regex | ) |
Filter out those Multilibs whose gccSuffix matches the given expression.
Definition at line 217 of file Multilib.cpp.
References clang::driver::Multilib::gccSuffix(), and string().
MultilibSet & MultilibSet::FilterOut | ( | FilterCallback | F | ) |
Filter out some subset of the Multilibs using a user defined callback.
Definition at line 212 of file Multilib.cpp.
Referenced by findAndroidArmMultilibs(), findCSKYMultilibs(), findMipsAndroidMultilibs(), findMipsCsMultilibs(), findMipsImgMultilibs(), findMipsMtiMultilibs(), findRISCVBareMetalMultilibs(), and clang::driver::toolchains::Fuchsia::Fuchsia().
|
inline |
Definition at line 179 of file Multilib.h.
MultilibSet & MultilibSet::Maybe | ( | const Multilib & | M | ) |
Add an optional Multilib segment.
Definition at line 142 of file Multilib.cpp.
References Either(), and clang::driver::Multilib::flags().
Referenced by findCSKYMultilibs(), findMipsAndroidMultilibs(), findMipsCsMultilibs(), findMipsImgMultilibs(), and findMipsMtiMultilibs().
void MultilibSet::print | ( | raw_ostream & | OS | ) | const |
Definition at line 288 of file Multilib.cpp.
Referenced by dump(), and clang::driver::operator<<().
void MultilibSet::push_back | ( | const Multilib & | M | ) |
Add a completed Multilib to the set.
Definition at line 232 of file Multilib.cpp.
Referenced by clang::driver::toolchains::Fuchsia::Fuchsia().
bool MultilibSet::select | ( | const Multilib::flags_list & | Flags, |
Multilib & | M | ||
) | const |
Pick the best multilib in the set,.
Definition at line 244 of file Multilib.cpp.
References b, clang::driver::Multilib::flags(), isFlagEnabled(), and clang::driver::Multilib::priority().
Referenced by findAndroidArmMultilibs(), findCSKYMultilibs(), findMipsAndroidMultilibs(), findMipsMuslMultilibs(), findRISCVBareMetalMultilibs(), findRISCVMultilibs(), and clang::driver::toolchains::Fuchsia::Fuchsia().
|
inline |
Definition at line 181 of file Multilib.h.
Referenced by findRISCVBareMetalMultilibs(), and clang::driver::toolchains::Fuchsia::Fuchsia().
|
inline |
Definition at line 174 of file Multilib.h.
Referenced by findMipsCsMultilibs(), findMipsImgMultilibs(), findMipsMtiMultilibs(), and findMipsMuslMultilibs().
|
inline |
Definition at line 169 of file Multilib.h.
Referenced by findMipsCsMultilibs().