jyknight wrote:

The part I'm confused about is that this commit doesn't appear to simply be 
adding "or `alignas`" to some code that said "if `_Alignas`". Yes, the newly 
added `isAlignas()` checks do cover both attributes, but `_Alignas` was still 
working even after b9cf7f1.

That is, in clang trunk, this test does still pass when parsed as -std=c23:
```
struct X {
    _Alignas(8) char n;
};

static_assert(_Alignof(struct X) == 8, "");
```

So why does this PR need to add new code to move `alignas`, instead of having 
`alignas` use whatever codepath was already handling `_Alignas`? Or, 
alternatively remove whatever code was formerly handling `_Alignas`, in favor 
of this new code?

Or, are `alignas` and `_Alignas` actually getting parsed differently, even 
still, so only `alignas` needs to be moved?

https://github.com/llvm/llvm-project/pull/98642
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to