================
@@ -5080,6 +5080,54 @@ bool Parser::ParseOpenMPVarList(OpenMPDirectiveKind
DKind,
Diag(Tok, diag::err_modifier_expected_colon) << "fallback";
}
}
+ } // Handle num_teams clause with optional lower-bound:upper-bound syntax
+ if (Kind == OMPC_num_teams && !Tok.is(tok::r_paren) &&
+ !Tok.is(tok::annot_pragma_openmp_end)) {
+ // Look ahead to detect top-level colon
+ TentativeParsingAction TPA(*this);
+ bool HasColon = false;
+ int Depth = 0;
+
+ while (!Tok.is(tok::r_paren) && !Tok.is(tok::annot_pragma_openmp_end)) {
+ if (Tok.isOneOf(tok::l_paren, tok::l_square))
----------------
alexey-bataev wrote:
This should be handled by expression parsing, you should not handle array
element parsing yourself
https://github.com/llvm/llvm-project/pull/180608
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits