This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/69363] ICE when doing a pragma simd reduction with max
- From: "iverbin at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 15 Feb 2016 18:52:51 +0000
- Subject: [Bug c++/69363] ICE when doing a pragma simd reduction with max
- Auto-submitted: auto-generated
- References: <bug-69363-4 at http dot gcc dot gnu dot org/bugzilla/>
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. */