[clang] [clang] Update argument checking tablegen code to use a 'full' name (PR #99993)

Mike Rice via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 30 16:04:40 PDT 2024


mikerice1969 wrote:

The old tablegen produced a single entry per name:

`.Case("unroll", true)`

The new tablegen can produce multiple entries:

```
.Case("Microsoft::unroll", true)
.Case("Pragma::unroll", true)
```

I think we can instead produce something like this, one per name:

```
.Case("unroll",
(Syntax==AttributeCommonInfo::AS_Microsoft && !Scope) || 
(Syntax==AttributeCommonInfo::AS_Pragma && Scope && Scope=="whatever") ||
...)
```
That should elimate the need for any new std::strings.  @AaronBallman does this sound reasonable?

https://github.com/llvm/llvm-project/pull/99993


More information about the cfe-commits mailing list