[clang] [Clang] [Parser] Fixing all callers of `ParseExternalDeclaration` that didn't parse gnu attributes (PR #117148)

Mathys Gasnier via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 21 08:38:41 PST 2024


================
@@ -267,9 +267,11 @@ void Parser::ParseInnerNamespace(const InnerNamespaceInfoList &InnerNSs,
     while (!tryParseMisplacedModuleImport() && Tok.isNot(tok::r_brace) &&
            Tok.isNot(tok::eof)) {
       ParsedAttributes DeclAttrs(AttrFactory);
-      MaybeParseCXX11Attributes(DeclAttrs);
-      ParsedAttributes EmptyDeclSpecAttrs(AttrFactory);
-      ParseExternalDeclaration(DeclAttrs, EmptyDeclSpecAttrs);
+      ParsedAttributes DeclSpecAttrs(AttrFactory);
+      while (MaybeParseCXX11Attributes(DeclAttrs) ||
+              MaybeParseGNUAttributes(DeclSpecAttrs))
+        ;
----------------
Mathys-Gasnier wrote:

Just pushed a new commit with what we talked about.

I'm not a big fan about the comment on the function I pushed, but I cannot find a wording that please me, I'm open to suggestion.

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


More information about the cfe-commits mailing list