================ @@ -698,6 +695,19 @@ StmtResult Parser::ParseSEHLeaveStatement() { return Actions.ActOnSEHLeaveStmt(LeaveLoc, getCurScope()); } +static void DiagnoseLabelFollowedByDecl(Parser &P, const Stmt *SubStmt) { + // When in C mode (but not Microsoft extensions mode), diagnose use of a + // label that is followed by a declaration rather than a statement. + if (!P.getLangOpts().CPlusPlus && !P.getLangOpts().MicrosoftExt && + isa<DeclStmt>(SubStmt)) { + if (P.getLangOpts().C23) + P.Diag(SubStmt->getBeginLoc(), + diag::warn_c23_compat_label_followed_by_declaration); + else + P.Diag(SubStmt->getBeginLoc(), diag::ext_c_label_followed_by_declaration); + } ---------------- cor3ntin wrote:
```suggestion P.Diag(SubStmt->getBeginLoc(), P.getLangOpts().C23 ? diag::warn_c23_compat_label_followed_by_declaration : diag::ext_c_label_followed_by_declaration); ``` https://github.com/llvm/llvm-project/pull/71398 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits