From: Richard Sandiford Date: Tue, 25 Apr 2023 12:16:29 +0000 (+0100) Subject: [Sema] Fix _Alignas/isCXX11Attribute() FIXME X-Git-Tag: upstream/17.0.6~10385 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5794ea421a0d60802141a9f289cd2c9fa8f7416c;p=platform%2Fupstream%2Fllvm.git [Sema] Fix _Alignas/isCXX11Attribute() FIXME When doing https://reviews.llvm.org/D148105 , I hadn't noticed that there was also a FIXME about the misclassification of _Alignas in ProcessDeclAttribute. Differential Revision: https://reviews.llvm.org/D149148 --- diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 2517dd5..3cb3250 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -8591,13 +8591,7 @@ ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, const ParsedAttr &AL, // Ignore C++11 attributes on declarator chunks: they appertain to the type // instead. - // FIXME: We currently check the attribute syntax directly instead of using - // isCXX11Attribute(), which currently erroneously classifies the C11 - // `_Alignas` attribute as a C++11 attribute. `_Alignas` can appear on the - // `DeclSpec`, so we need to let it through here to make sure it is processed - // appropriately. Once the behavior of isCXX11Attribute() is fixed, we can - // go back to using that here. - if (AL.getSyntax() == ParsedAttr::AS_CXX11 && !Options.IncludeCXX11Attributes) + if (AL.isCXX11Attribute() && !Options.IncludeCXX11Attributes) return; // Unknown attributes are automatically warned on. Target-specific attributes