https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69363
iverbin at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |iverbin at gcc dot gnu.org --- Comment #2 from iverbin at gcc dot gnu.org --- (In reply to Jakub Jelinek from comment #1) > The bug is that cp_parser_cilk_simd_all_clauses and > c_parser_cilk_simd_all_clauses calls c_finish_cilk_clauses rather than the > OpenMP clauses finalization routines in each of the FEs, perhaps with some > argument that would say it wants Cilk+ semantics instead of OpenMP. > That way, it misses lots of important actions that need to be performed on > the clauses. Yep, this patch fixes original testcase and 23 fails in Cilk Plus Conformance Suite v1.2.1 <www.cilkplus.org/specs> without new regressions. diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 6f47edf..9e12a96 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -37621,7 +37621,7 @@ cp_parser_cilk_simd_all_clauses (cp_parser *parser, cp_token *pragma_token) if (clauses == error_mark_node) return error_mark_node; else - return c_finish_cilk_clauses (clauses); + return finish_omp_clauses (clauses, false); } /* Main entry-point for parsing Cilk Plus <#pragma simd> for loops. */