clang  3.7.0
Public Types | Public Member Functions | List of all members
clang::driver::MultilibSet Class Reference

#include <Multilib.h>

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
 
typedef llvm::function_ref
< bool(const Multilib &)> 
FilterCallback
 

Public Member Functions

 MultilibSet ()
 
MultilibSetMaybe (const Multilib &M)
 Add an optional Multilib segment. More...
 
MultilibSetEither (const Multilib &M1, const Multilib &M2)
 Add a set of mutually incompatible Multilib segments. More...
 
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 (ArrayRef< Multilib > Ms)
 
MultilibSetFilterOut (FilterCallback F)
 Filter out some subset of the Multilibs using a user defined callback. More...
 
MultilibSetFilterOut (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 thie 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
 
void print (raw_ostream &OS) const
 
MultilibSetsetIncludeDirsCallback (IncludeDirsFunc F)
 
const IncludeDirsFuncincludeDirsCallback () 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 llvm::function_ref<bool(const Multilib &)> clang::driver::MultilibSet::FilterCallback

Definition at line 106 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

clang::driver::MultilibSet::MultilibSet ( )
inline

Definition at line 113 of file Multilib.h.

Member Function Documentation

iterator clang::driver::MultilibSet::begin ( )
inline

Definition at line 143 of file Multilib.h.

Referenced by combineWith().

const_iterator clang::driver::MultilibSet::begin ( ) const
inline

Definition at line 144 of file Multilib.h.

void clang::driver::MultilibSet::clear ( )
inline

Remove all of thie multilibs from the set.

Definition at line 141 of file Multilib.h.

void MultilibSet::combineWith ( const MultilibSet MS)

Union this set of multilibs with another.

Definition at line 235 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.

Referenced by Either(), findMIPSMultilibs(), and Maybe().

MultilibSet & MultilibSet::Either ( const Multilib M1,
const Multilib M2,
const Multilib M3 
)

Definition at line 157 of file Multilib.cpp.

References Either().

MultilibSet & MultilibSet::Either ( const Multilib M1,
const Multilib M2,
const Multilib M3,
const Multilib M4 
)

Definition at line 162 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 167 of file Multilib.cpp.

References Either().

MultilibSet & MultilibSet::Either ( ArrayRef< Multilib Ms)

Definition at line 192 of file Multilib.cpp.

References compose(), and clang::driver::Multilib::isValid().

iterator clang::driver::MultilibSet::end ( )
inline

Definition at line 146 of file Multilib.h.

Referenced by combineWith().

const_iterator clang::driver::MultilibSet::end ( ) const
inline

Definition at line 147 of file Multilib.h.

MultilibSet & MultilibSet::FilterOut ( FilterCallback  F)

Filter out some subset of the Multilibs using a user defined callback.

Definition at line 213 of file Multilib.cpp.

Referenced by findBiarchMultilibs(), and findMIPSMultilibs().

MultilibSet & MultilibSet::FilterOut ( const char *  Regex)

Filter out those Multilibs whose gccSuffix matches the given expression.

Definition at line 218 of file Multilib.cpp.

References clang::serialized_diags::Error, and clang::driver::Multilib::gccSuffix().

const IncludeDirsFunc& clang::driver::MultilibSet::includeDirsCallback ( ) const
inline
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 276 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 233 of file Multilib.cpp.

Referenced by 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 245 of file Multilib.cpp.

References clang::driver::Multilib::flags(), and isFlagEnabled().

Referenced by findBiarchMultilibs(), and findMIPSMultilibs().

MultilibSet& clang::driver::MultilibSet::setIncludeDirsCallback ( IncludeDirsFunc  F)
inline

Definition at line 156 of file Multilib.h.

Referenced by findMIPSMultilibs().

unsigned clang::driver::MultilibSet::size ( ) const
inline

Definition at line 152 of file Multilib.h.

Referenced by findMIPSMultilibs().


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