------- Comment #13 from burnus at gcc dot gnu dot org  2010-03-11 07:23 -------
> Any other thoughts? (I am flexible and I am looking at the other idea of #10)

How about something like the following? Note: It does not quite work yet :-(

Index: list_read.c
===================================================================
--- list_read.c (Revision 157379)
+++ list_read.c
@@ -2081,6 +2081,15 @@
                    ls[dim].end = ls[dim].start;
                  else
                    dtp->u.p.expanded_read = 1;
+
+                 if (is_array_section == 1 && dtp->u.p.expanded_read == 1)
+                   {
+                     int i;
+                     dtp->u.p.expanded_read = 0;
+                     for (i = 0; i < dim; i++)
+                       if (ls[dim].end == NULL)
+                         ls[i].end = ls[i].start;
+                   }
                }

              /* Check for non-zero rank.  */


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43228

Reply via email to