@@ -1529,9 +1529,8 @@ createArgument(const Record &Arg, StringRef Attr,
15291529
15301530 if (!Ptr) {
15311531 // Search in reverse order so that the most-derived type is handled first.
1532- ArrayRef<std::pair<Record*, SMRange>> Bases = Search->getSuperClasses ();
1533- for (const auto &Base : reverse (Bases)) {
1534- if ((Ptr = createArgument (Arg, Attr, Base.first )))
1532+ for (const auto &[Base, _] : reverse (Search->getSuperClasses ())) {
1533+ if ((Ptr = createArgument (Arg, Attr, Base)))
15351534 break ;
15361535 }
15371536 }
@@ -2744,12 +2743,11 @@ static void emitAttributes(const RecordKeeper &Records, raw_ostream &OS,
27442743 if (!R.getValueAsBit (" ASTNode" ))
27452744 continue ;
27462745
2747- ArrayRef<std::pair<Record *, SMRange>> Supers = R.getSuperClasses ();
2746+ ArrayRef<std::pair<const Record *, SMRange>> Supers = R.getSuperClasses ();
27482747 assert (!Supers.empty () && " Forgot to specify a superclass for the attr" );
27492748 std::string SuperName;
27502749 bool Inheritable = false ;
2751- for (const auto &Super : reverse (Supers)) {
2752- const Record *R = Super.first ;
2750+ for (const auto &[R, _] : reverse (Supers)) {
27532751 if (R->getName () != " TargetSpecificAttr" &&
27542752 R->getName () != " DeclOrTypeAttr" && SuperName.empty ())
27552753 SuperName = std::string (R->getName ());
@@ -3434,7 +3432,7 @@ namespace {
34343432 }
34353433
34363434 private:
3437- AttrClass *findClassByRecord (Record *R) const {
3435+ AttrClass *findClassByRecord (const Record *R) const {
34383436 for (auto &Class : Classes) {
34393437 if (Class->TheRecord == R)
34403438 return Class.get ();
@@ -4739,8 +4737,8 @@ void EmitClangAttrParsedAttrImpl(const RecordKeeper &Records, raw_ostream &OS) {
47394737 if (Arg->getValueAsBitOrUnset (" Fake" , UnusedUnset))
47404738 continue ;
47414739 ArgNames.push_back (Arg->getValueAsString (" Name" ).str ());
4742- for (const auto &Class : Arg->getSuperClasses ()) {
4743- if (Class. first ->getName ().starts_with (" Variadic" )) {
4740+ for (const auto &[ Class, _] : Arg->getSuperClasses ()) {
4741+ if (Class->getName ().starts_with (" Variadic" )) {
47444742 ArgNames.back ().append (" ..." );
47454743 break ;
47464744 }
0 commit comments