diff options
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/io/list_read.c | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index e496264..4f59525 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2010-03-11 Tobias Burnus <burnus@net-b.de> + + PR fortran/43228 + * io/list_read.c (nml_parse_qualifier): Disable expanded_read + for array sections. + 2010-03-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/43320 diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index afd5b45..830cde2 100644 --- a/libgfortran/io/list_read.c +++ b/libgfortran/io/list_read.c @@ -2091,6 +2091,14 @@ nml_parse_qualifier (st_parameter_dt *dtp, descriptor_dimension *ad, } } + 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++) + ls[i].end = ls[i].start; + } + /* Check the values of the triplet indices. */ if ((ls[dim].start > (ssize_t) GFC_DIMENSION_UBOUND(ad[dim])) || (ls[dim].start < (ssize_t) GFC_DIMENSION_LBOUND(ad[dim])) |