[Bug fortran/60127] ICE with OpenMP and DO CONCURRENT
tkoenig at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Mar 29 22:54:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60127
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tkoenig at gcc dot gnu.org
--- Comment #2 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
This patchlet
Index: openmp.c
===================================================================
--- openmp.c (Revision 208592)
+++ openmp.c (Arbeitskopie)
@@ -1657,7 +1657,7 @@ resolve_omp_do (gfc_code *code)
"at %L", &do_code->loc);
break;
}
- gcc_assert (do_code->op == EXEC_DO);
+ gcc_assert (do_code->op == EXEC_DO || do_code->op ==
EXEC_DO_CONCURRENT);
if (do_code->ext.iterator->var->ts.type != BT_INTEGER)
gfc_error ("!$OMP DO iteration variable must be of type integer at %L",
&do_code->loc);
Index: trans-openmp.c
===================================================================
--- trans-openmp.c (Revision 208592)
+++ trans-openmp.c (Arbeitskopie)
@@ -1322,7 +1322,7 @@ gfc_trans_omp_do (gfc_code *code, stmtblock_t *pbl
collapse = 1;
code = code->block->next;
- gcc_assert (code->op == EXEC_DO);
+ gcc_assert (code->op == EXEC_DO || code->op == EXEC_DO_CONCURRENT);
init = make_tree_vec (collapse);
cond = make_tree_vec (collapse);
seems to fix things, without testsuite regressions, and simple code
also seems to run OK.
Am I overlooking something basic here?
More information about the Gcc-bugs
mailing list