[clang] [Clang] Don't treat a declaration that declares nothing as an invalid statement (PR #224682)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 28 12:55:38 PDT 2026


================
@@ -231,6 +231,11 @@ StmtResult Parser::ParseStatementOrDeclarationAfterAttributes(
                                    GNUAttrs.Range.getBegin());
       } else if (GNUAttrs.Range.getBegin().isValid())
         DeclStart = GNUAttrs.Range.getBegin();
+      // A declaration that declares nothing (`int;`) yields no Decl but still
+      // occupies the statement position; unlike a pragma, ParseStatement() must
+      // not skip it.
+      if (!Decl)
+        return Actions.ActOnNullStmt(PrevTokLocation);
----------------
efriedma-quic wrote:

Can we use an empty DeclStmt?

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


More information about the cfe-commits mailing list