================ @@ -186,14 +186,14 @@ class AttributeCommonInfo { bool isGNUScope() const; bool isClangScope() const; - bool isCXX11Attribute() const { return SyntaxUsed == AS_CXX11 || IsAlignas; } - + bool isAlignas() const { return IsAlignas; } + bool isCXX11Attribute() const { return SyntaxUsed == AS_CXX11; } bool isC23Attribute() const { return SyntaxUsed == AS_C23; } /// The attribute is spelled [[]] in either C or C++ mode, including standard /// attributes spelled with a keyword, like alignas. bool isStandardAttributeSyntax() const { - return isCXX11Attribute() || isC23Attribute(); + return isCXX11Attribute() || isC23Attribute() || IsAlignas; ---------------- AaronBallman wrote:
I think `isCXX11Attribute()` was being used properly there, at least per the comment. But you're right, this one now changed behavior in C23 because it will treat `_Alignas` as a standard attribute. https://github.com/llvm/llvm-project/pull/65638 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits