clang 20.0.0git
Public Types | Public Member Functions | List of all members
clang::driver::MultilibSetBuilder Class Reference

This class can be used to create a MultilibSet, and contains helper functions to add combinations of multilibs before creating a MultilibSet instance with makeMultilibSet(). More...

#include "clang/Driver/MultilibBuilder.h"

Public Types

using multilib_list = std::vector< MultilibBuilder >
 

Public Member Functions

 MultilibSetBuilder ()=default
 
MultilibSetBuilderMaybe (const MultilibBuilder &M)
 Add an optional Multilib segment.
 
MultilibSetBuilderEither (const MultilibBuilder &M1, const MultilibBuilder &M2)
 Add a set of mutually incompatible Multilib segments.
 
MultilibSetBuilderEither (const MultilibBuilder &M1, const MultilibBuilder &M2, const MultilibBuilder &M3)
 
MultilibSetBuilderEither (const MultilibBuilder &M1, const MultilibBuilder &M2, const MultilibBuilder &M3, const MultilibBuilder &M4)
 
MultilibSetBuilderEither (const MultilibBuilder &M1, const MultilibBuilder &M2, const MultilibBuilder &M3, const MultilibBuilder &M4, const MultilibBuilder &M5)
 
MultilibSetBuilderEither (ArrayRef< MultilibBuilder > Ms)
 
MultilibSetBuilderFilterOut (const char *Regex)
 Filter out those Multilibs whose gccSuffix matches the given expression.
 
MultilibSet makeMultilibSet () const
 

Detailed Description

This class can be used to create a MultilibSet, and contains helper functions to add combinations of multilibs before creating a MultilibSet instance with makeMultilibSet().

Definition at line 96 of file MultilibBuilder.h.

Member Typedef Documentation

◆ multilib_list

Definition at line 98 of file MultilibBuilder.h.

Constructor & Destructor Documentation

◆ MultilibSetBuilder()

clang::driver::MultilibSetBuilder::MultilibSetBuilder ( )
default

Member Function Documentation

◆ Either() [1/5]

MultilibSetBuilder & MultilibSetBuilder::Either ( ArrayRef< MultilibBuilder Ms)

Definition at line 152 of file MultilibBuilder.cpp.

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

◆ Either() [2/5]

MultilibSetBuilder & MultilibSetBuilder::Either ( const MultilibBuilder M1,
const MultilibBuilder M2 
)

◆ Either() [3/5]

MultilibSetBuilder & MultilibSetBuilder::Either ( const MultilibBuilder M1,
const MultilibBuilder M2,
const MultilibBuilder M3 
)

Definition at line 110 of file MultilibBuilder.cpp.

References Either().

◆ Either() [4/5]

MultilibSetBuilder & MultilibSetBuilder::Either ( const MultilibBuilder M1,
const MultilibBuilder M2,
const MultilibBuilder M3,
const MultilibBuilder M4 
)

Definition at line 116 of file MultilibBuilder.cpp.

References Either().

◆ Either() [5/5]

MultilibSetBuilder & MultilibSetBuilder::Either ( const MultilibBuilder M1,
const MultilibBuilder M2,
const MultilibBuilder M3,
const MultilibBuilder M4,
const MultilibBuilder M5 
)

Definition at line 123 of file MultilibBuilder.cpp.

References Either().

◆ FilterOut()

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

Filter out those Multilibs whose gccSuffix matches the given expression.

Definition at line 173 of file MultilibBuilder.cpp.

References clang::driver::MultilibBuilder::gccSuffix().

Referenced by findMipsCsMultilibs(), findMipsMtiMultilibs(), and findRISCVMultilibs().

◆ makeMultilibSet()

MultilibSet MultilibSetBuilder::makeMultilibSet ( ) const

◆ Maybe()

MultilibSetBuilder & MultilibSetBuilder::Maybe ( const MultilibBuilder M)

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