------- 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