================
@@ -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))
+        ;
----------------
Sirraide wrote:

> If we factor out `ParseExternalDeclaration` in a function that also parses 
> the attributes, factoring out attributes parsing is probably not as usefull 
> right ?

Yeah, I think just making a new function that both parses attributes and then 
calls `ParseExternalDeclaration` seems to be enough.

> Since it's quite a lot of changes, should I do it in two commits ?

The commit history of a pr isn’t really that important because we always squash 
on merge anyway, so use however many commits you need—I’d recommend avoiding 
force-pushing though because it can make reviews more complicated (I at least 
find it harder to figure out what’s changed since my last review if there was a 
force-push).

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

Reply via email to