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

Reply via email to