mikerice1969 wrote: > Does this impact anything user-facing? e.g., should there be an additional > test somewhere in clang/test/Sema/ for this change?
I don't think there is any user-visible issue with the one attribute that uses this. At least how the Parse code is written currently. The attribute has three EnumArguments followed by an IntArgument. The call to attributeHasStrictIdentifierArgAtIndex is only done if the token is an identifier and if the IntArgument is an identifier that same thing happens anyway. Looking at this code now, I am not convinced the call to attributeHasStrictIdentifierArgAtIndex does anything useful. ``` if (Tok.is(tok::identifier) && attributeHasStrictIdentifierArgAtIndex( *AttrName, ArgExprs.size())) { ArgExprs.push_back(ParseIdentifierLoc()); continue; } ExprResult ArgExpr; if (Tok.is(tok::identifier)) { ArgExprs.push_back(ParseIdentifierLoc()); } else { ``` So I think we can remove the whole function attributeHasStrictIdentifierArgAtIndex and the related tablegen. No tests fail without it. The function attributeHasStrictIdentifierArgs still seems necessary but not the AtIndex. What do you think? https://github.com/llvm/llvm-project/pull/99993 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits