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