Lines Matching defs:MultilibBuilder
1 //===- MultilibBuilder.cpp - MultilibBuilder Implementation -===//
9 #include "clang/Driver/MultilibBuilder.h"
44 MultilibBuilder::MultilibBuilder(StringRef GCC, StringRef OS, StringRef Include)
51 MultilibBuilder::MultilibBuilder(StringRef Suffix)
52 : MultilibBuilder(Suffix, Suffix, Suffix) {}
54 MultilibBuilder &MultilibBuilder::gccSuffix(StringRef S) {
60 MultilibBuilder &MultilibBuilder::osSuffix(StringRef S) {
66 MultilibBuilder &MultilibBuilder::includeSuffix(StringRef S) {
72 bool MultilibBuilder::isValid() const {
86 MultilibBuilder &MultilibBuilder::flag(StringRef Flag, bool Disallow) {
91 Multilib MultilibBuilder::makeMultilib() const {
95 MultilibSetBuilder &MultilibSetBuilder::Maybe(const MultilibBuilder &M) {
96 MultilibBuilder Opposite;
105 MultilibSetBuilder &MultilibSetBuilder::Either(const MultilibBuilder &M1,
106 const MultilibBuilder &M2) {
110 MultilibSetBuilder &MultilibSetBuilder::Either(const MultilibBuilder &M1,
111 const MultilibBuilder &M2,
112 const MultilibBuilder &M3) {
116 MultilibSetBuilder &MultilibSetBuilder::Either(const MultilibBuilder &M1,
117 const MultilibBuilder &M2,
118 const MultilibBuilder &M3,
119 const MultilibBuilder &M4) {
123 MultilibSetBuilder &MultilibSetBuilder::Either(const MultilibBuilder &M1,
124 const MultilibBuilder &M2,
125 const MultilibBuilder &M3,
126 const MultilibBuilder &M4,
127 const MultilibBuilder &M5) {
131 static MultilibBuilder compose(const MultilibBuilder &Base,
132 const MultilibBuilder &New) {
141 MultilibBuilder Composed(GCCSuffix, OSSuffix, IncludeSuffix);
143 MultilibBuilder::flags_list &Flags = Composed.flags();
152 MultilibSetBuilder::Either(ArrayRef<MultilibBuilder> MultilibSegments) {
161 MultilibBuilder MO = compose(Base, New);
182 llvm::erase_if(Multilibs, [&R](const MultilibBuilder &M) {