This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/71068] [5/6/7 Regression] ICE in check_data_variable(): Bad expression
- From: "kargl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 21 Jun 2016 14:28:52 +0000
- Subject: [Bug fortran/71068] [5/6/7 Regression] ICE in check_data_variable(): Bad expression
- Auto-submitted: auto-generated
- References: <bug-71068-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71068
--- Comment #2 from kargl at gcc dot gnu.org ---
cat pr71068.diff
Index: resolve.c
===================================================================
--- resolve.c (revision 236243)
+++ resolve.c (working copy)
@@ -14495,6 +14495,17 @@ check_data_variable (gfc_data_variable *
mpz_init_set_si (offset, 0);
e = var->expr;
+ /* F2008:C565. */
+ if (flag_coarray == GFC_FCOARRAY_LIB && e->expr_type == EXPR_FUNCTION
+ && e->value.function.isym
+ && (e->value.function.isym->id == GFC_ISYM_CAF_GET
+ || e->value.function.isym->id == GFC_ISYM_CAF_SEND))
+ {
+ gfc_error ("DATA statement object near %L shall not have a coindex",
+ where);
+ return false;
+ }
+
if (e->expr_type != EXPR_VARIABLE)
gfc_internal_error ("check_data_variable(): Bad expression");