https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71795

Thomas Koenig <tkoenig at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |tkoenig at gcc dot 
gnu.org

--- Comment #5 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
This should do the trick.

@@ -1255,6 +1255,11 @@ combine_array_constructor (gfc_expr *e)
   if (forall_level > 0)
     return false;

+  /* Inside an iterator, things can get hairy; we are likely to create
+     an invalid temporary variable.  */
+  if (iterator_level > 0)
+    return false;
+
   op1 = e->value.op.op1;
   op2 = e->value.op.op2;

Reply via email to