clang API Documentation
#include <Multilib.h>
Classes | |
struct | FilterCallback |
Public Types | |
typedef std::vector< Multilib > | multilib_list |
typedef multilib_list::iterator | iterator |
typedef multilib_list::const_iterator | const_iterator |
typedef std::function < std::vector< std::string > StringRef InstallDir, StringRef Triple, const Multilib &M)> | IncludeDirsFunc |
Public Member Functions | |
MultilibSet () | |
MultilibSet & | Maybe (const Multilib &M) |
Add an optional Multilib segment. | |
MultilibSet & | Either (const Multilib &M1, const Multilib &M2) |
Add a set of mutually incompatible Multilib segments. | |
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 (const std::vector< Multilib > &Ms) |
MultilibSet & | FilterOut (const FilterCallback &F) |
Filter out some subset of the Multilibs using a user defined callback. | |
MultilibSet & | FilterOut (std::string Regex) |
Filter out those Multilibs whose gccSuffix matches the given expression. | |
void | push_back (const Multilib &M) |
Add a completed Multilib to the set. | |
void | combineWith (const MultilibSet &MS) |
Union this set of multilibs with another. | |
void | clear () |
Remove all of thie multilibs from the set. | |
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,. | |
unsigned | size () const |
void | print (raw_ostream &OS) const |
MultilibSet & | setIncludeDirsCallback (IncludeDirsFunc F) |
IncludeDirsFunc | includeDirsCallback () const |
Definition at line 96 of file Multilib.h.
typedef multilib_list::const_iterator clang::driver::MultilibSet::const_iterator |
Definition at line 100 of file Multilib.h.
typedef std::function<std::vector<std::string> StringRef InstallDir, StringRef Triple, const Multilib &M)> clang::driver::MultilibSet::IncludeDirsFunc |
Definition at line 104 of file Multilib.h.
typedef multilib_list::iterator clang::driver::MultilibSet::iterator |
Definition at line 99 of file Multilib.h.
typedef std::vector<Multilib> clang::driver::MultilibSet::multilib_list |
Definition at line 98 of file Multilib.h.
clang::driver::MultilibSet::MultilibSet | ( | ) | [inline] |
Definition at line 117 of file Multilib.h.
iterator clang::driver::MultilibSet::begin | ( | ) | [inline] |
Definition at line 147 of file Multilib.h.
Referenced by combineWith(), and clang::driver::Driver::HandleImmediateArgs().
const_iterator clang::driver::MultilibSet::begin | ( | ) | const [inline] |
Definition at line 148 of file Multilib.h.
void clang::driver::MultilibSet::clear | ( | ) | [inline] |
Remove all of thie multilibs from the set.
Definition at line 145 of file Multilib.h.
void MultilibSet::combineWith | ( | const MultilibSet & | MS | ) |
Union this set of multilibs with another.
Definition at line 261 of file Multilib.cpp.
MultilibSet & MultilibSet::Either | ( | const Multilib & | M1, |
const Multilib & | M2 | ||
) |
Add a set of mutually incompatible Multilib segments.
Definition at line 153 of file Multilib.cpp.
References push_back().
Referenced by Either(), findMIPSMultilibs(), and Maybe().
MultilibSet & MultilibSet::Either | ( | const Multilib & | M1, |
const Multilib & | M2, | ||
const Multilib & | M3 | ||
) |
Definition at line 160 of file Multilib.cpp.
References Either(), and push_back().
MultilibSet & MultilibSet::Either | ( | const Multilib & | M1, |
const Multilib & | M2, | ||
const Multilib & | M3, | ||
const Multilib & | M4 | ||
) |
Definition at line 169 of file Multilib.cpp.
References Either(), and push_back().
MultilibSet & MultilibSet::Either | ( | const Multilib & | M1, |
const Multilib & | M2, | ||
const Multilib & | M3, | ||
const Multilib & | M4, | ||
const Multilib & | M5 | ||
) |
Definition at line 179 of file Multilib.cpp.
References Either(), and push_back().
MultilibSet & MultilibSet::Either | ( | const std::vector< Multilib > & | Ms | ) |
Definition at line 211 of file Multilib.cpp.
References compose(), and clang::driver::Multilib::isValid().
iterator clang::driver::MultilibSet::end | ( | ) | [inline] |
Definition at line 150 of file Multilib.h.
Referenced by combineWith(), and clang::driver::Driver::HandleImmediateArgs().
const_iterator clang::driver::MultilibSet::end | ( | ) | const [inline] |
Definition at line 151 of file Multilib.h.
MultilibSet & MultilibSet::FilterOut | ( | const FilterCallback & | F | ) |
Filter out some subset of the Multilibs using a user defined callback.
Definition at line 232 of file Multilib.cpp.
Referenced by findBiarchMultilibs(), and findMIPSMultilibs().
MultilibSet & MultilibSet::FilterOut | ( | std::string | Regex | ) |
Filter out those Multilibs whose gccSuffix matches the given expression.
Definition at line 237 of file Multilib.cpp.
References clang::diag::Error, and clang::driver::Multilib::gccSuffix().
IncludeDirsFunc clang::driver::MultilibSet::includeDirsCallback | ( | ) | const [inline] |
Definition at line 164 of file Multilib.h.
Referenced by clang::driver::toolchains::Linux::AddClangSystemIncludeArgs().
MultilibSet & MultilibSet::Maybe | ( | const Multilib & | M | ) |
Add an optional Multilib segment.
Definition at line 143 of file Multilib.cpp.
References Either(), and clang::driver::Multilib::flags().
Referenced by findMIPSMultilibs().
void MultilibSet::print | ( | raw_ostream & | OS | ) | const |
Definition at line 311 of file Multilib.cpp.
Referenced by clang::driver::operator<<().
void MultilibSet::push_back | ( | const Multilib & | M | ) |
Add a completed Multilib to the set.
Definition at line 259 of file Multilib.cpp.
Referenced by Either(), findBiarchMultilibs(), and findMIPSMultilibs().
bool MultilibSet::select | ( | const Multilib::flags_list & | Flags, |
Multilib & | M | ||
) | const |
Pick the best multilib in the set,.
Definition at line 265 of file Multilib.cpp.
References clang::driver::Multilib::flags().
Referenced by findBiarchMultilibs(), and findMIPSMultilibs().
Definition at line 160 of file Multilib.h.
Referenced by findMIPSMultilibs().
unsigned clang::driver::MultilibSet::size | ( | ) | const [inline] |
Definition at line 156 of file Multilib.h.
Referenced by findMIPSMultilibs().