================
@@ -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";
+ }
----------------
kparzysz wrote:
Please treat OMPC_unknown and OMPC_otherwise separately: in the former case the
message should be something like "expected an OpenMP clause" (see
`err_omp_unknown_directive` for reference). The latter case should use
`err_omp_unexpected_clause`.
https://github.com/llvm/llvm-project/pull/128640
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits