clang API Documentation

Classes | Public Types | Public Member Functions
clang::driver::MultilibSet Class Reference

#include <Multilib.h>

List of all members.

Classes

struct  FilterCallback

Public Types

typedef std::vector< Multilibmultilib_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 ()
MultilibSetMaybe (const Multilib &M)
 Add an optional Multilib segment.
MultilibSetEither (const Multilib &M1, const Multilib &M2)
 Add a set of mutually incompatible Multilib segments.
MultilibSetEither (const Multilib &M1, const Multilib &M2, const Multilib &M3)
MultilibSetEither (const Multilib &M1, const Multilib &M2, const Multilib &M3, const Multilib &M4)
MultilibSetEither (const Multilib &M1, const Multilib &M2, const Multilib &M3, const Multilib &M4, const Multilib &M5)
MultilibSetEither (const std::vector< Multilib > &Ms)
MultilibSetFilterOut (const FilterCallback &F)
 Filter out some subset of the Multilibs using a user defined callback.
MultilibSetFilterOut (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
MultilibSetsetIncludeDirsCallback (IncludeDirsFunc F)
IncludeDirsFunc includeDirsCallback () const

Detailed Description

Definition at line 96 of file Multilib.h.


Member Typedef Documentation

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.

Definition at line 98 of file Multilib.h.


Constructor & Destructor Documentation

Definition at line 117 of file Multilib.h.


Member Function Documentation

Definition at line 147 of file Multilib.h.

Referenced by combineWith(), and clang::driver::Driver::HandleImmediateArgs().

Definition at line 148 of file Multilib.h.

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.

References begin(), and end().

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().

Definition at line 150 of file Multilib.h.

Referenced by combineWith(), and clang::driver::Driver::HandleImmediateArgs().

Definition at line 151 of file Multilib.h.

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().

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,.

Returns:
false if none are compatible

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().

Definition at line 156 of file Multilib.h.

Referenced by findMIPSMultilibs().


The documentation for this class was generated from the following files: