#include "clang/Driver/MultilibBuilder.h"
#include "ToolChains/CommonArgs.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Regex.h"
#include "llvm/Support/raw_ostream.h"
usingnamespaceclang;
usingnamespacedriver;
static void normalizePathSegment(std::string &Segment) { … }
MultilibBuilder::MultilibBuilder(StringRef GCC, StringRef OS, StringRef Include)
: … { … }
MultilibBuilder::MultilibBuilder(StringRef Suffix)
: … { … }
MultilibBuilder &MultilibBuilder::gccSuffix(StringRef S) { … }
MultilibBuilder &MultilibBuilder::osSuffix(StringRef S) { … }
MultilibBuilder &MultilibBuilder::includeSuffix(StringRef S) { … }
bool MultilibBuilder::isValid() const { … }
MultilibBuilder &MultilibBuilder::flag(StringRef Flag, bool Disallow) { … }
Multilib MultilibBuilder::makeMultilib() const { … }
MultilibSetBuilder &MultilibSetBuilder::Maybe(const MultilibBuilder &M) { … }
MultilibSetBuilder &MultilibSetBuilder::Either(const MultilibBuilder &M1,
const MultilibBuilder &M2) { … }
MultilibSetBuilder &MultilibSetBuilder::Either(const MultilibBuilder &M1,
const MultilibBuilder &M2,
const MultilibBuilder &M3) { … }
MultilibSetBuilder &MultilibSetBuilder::Either(const MultilibBuilder &M1,
const MultilibBuilder &M2,
const MultilibBuilder &M3,
const MultilibBuilder &M4) { … }
MultilibSetBuilder &MultilibSetBuilder::Either(const MultilibBuilder &M1,
const MultilibBuilder &M2,
const MultilibBuilder &M3,
const MultilibBuilder &M4,
const MultilibBuilder &M5) { … }
static MultilibBuilder compose(const MultilibBuilder &Base,
const MultilibBuilder &New) { … }
MultilibSetBuilder &
MultilibSetBuilder::Either(ArrayRef<MultilibBuilder> MultilibSegments) { … }
MultilibSetBuilder &MultilibSetBuilder::FilterOut(const char *Regex) { … }
MultilibSet MultilibSetBuilder::makeMultilibSet() const { … }