Lines Matching refs:M
85 raw_ostream &clang::driver::operator<<(raw_ostream &OS, const Multilib &M) { in operator <<() argument
86 M.print(OS); in operator <<()
95 void MultilibSet::push_back(const Multilib &M) { Multilibs.push_back(M); } in push_back() argument
104 for (const Multilib &M : llvm::reverse(Multilibs)) { in select() local
106 if (!llvm::all_of(M.flags(), [&FlagSet](const std::string &F) { in select()
111 const std::string &group = M.exclusiveGroup(); in select()
125 Selected.push_back(M); in select()
140 for (const FlagMatcher &M : FlagMatchers) { in expandFlags() local
141 std::string RegexString(M.Match); in expandFlags()
144 if (!StringRef(M.Match).starts_with("^")) in expandFlags()
146 if (!StringRef(M.Match).ends_with("$")) in expandFlags()
153 Result.insert(M.Flags.begin(), M.Flags.end()); in expandFlags()
233 static void mapping(llvm::yaml::IO &io, MultilibSet::FlagMatcher &M) { in mapping()
234 io.mapRequired("Match", M.Match); in mapping()
235 io.mapRequired("Flags", M.Flags); in mapping()
237 static std::string validate(IO &io, MultilibSet::FlagMatcher &M) { in validate()
238 llvm::Regex Regex(M.Match); in validate()
242 if (M.Flags.empty()) in validate()
249 static void mapping(llvm::yaml::IO &io, MultilibSetSerialization &M) { in mapping()
250 io.mapRequired("MultilibVersion", M.MultilibVersion); in mapping()
251 io.mapRequired("Variants", M.Multilibs); in mapping()
252 io.mapOptional("Groups", M.Groups); in mapping()
253 io.mapOptional("Mappings", M.FlagMatchers); in mapping()
255 static std::string validate(IO &io, MultilibSetSerialization &M) { in validate()
256 if (M.MultilibVersion.empty()) in validate()
258 if (M.MultilibVersion.getMajor() != MultilibVersionCurrent.getMajor()) in validate()
259 return "multilib version " + M.MultilibVersion.getAsString() + in validate()
261 if (M.MultilibVersion.getMinor() > MultilibVersionCurrent.getMinor()) in validate()
262 return "multilib version " + M.MultilibVersion.getAsString() + in validate()
264 for (const MultilibSerialization &Lib : M.Multilibs) { in validate()
267 for (const MultilibGroupSerialization &Group : M.Groups) in validate()
297 for (const auto &M : MS.Multilibs) { in LLVM_YAML_IS_SEQUENCE_VECTOR() local
299 if (M.Dir != ".") in LLVM_YAML_IS_SEQUENCE_VECTOR()
300 Dir = "/" + M.Dir; in LLVM_YAML_IS_SEQUENCE_VECTOR()
305 Multilibs.emplace_back(Dir, Dir, Dir, M.Flags, M.Group); in LLVM_YAML_IS_SEQUENCE_VECTOR()
316 for (const auto &M : *this) in print()
317 OS << M << "\n"; in print()