[clang] default clause replaced by otherwise clause for metadirective in OpenMP 5.2 (PR #128640)

Urvi Rav via cfe-commits cfe-commits at lists.llvm.org
Sun Apr 13 22:05:43 PDT 2025


================
@@ -2759,6 +2759,19 @@ StmtResult Parser::ParseOpenMPDeclarativeOrExecutableDirective(
       OpenMPClauseKind CKind = Tok.isAnnotation()
                                    ? OMPC_unknown
                                    : getOpenMPClauseKind(PP.getSpelling(Tok));
+      // Check if the clause is unrecognized.
+      if (getLangOpts().OpenMP < 52 &&
+          (CKind == OMPC_unknown || CKind == OMPC_otherwise)) {
+        Diag(Tok, diag::err_omp_unknown_clause)
+            << PP.getSpelling(Tok) << "metadirective";
+      }
+      if (getLangOpts().OpenMP >= 52 && CKind == OMPC_unknown) {
+        Diag(Tok, diag::err_omp_unknown_clause)
+            << PP.getSpelling(Tok) << "metadirective";
+      }
----------------
ravurvi20 wrote:

ping @kparzysz 

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


More information about the cfe-commits mailing list