http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46010
--- Comment #7 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2010-10-25 05:47:58 UTC --- Here is a patch. Please try this if you can. Index: list_read.c =================================================================== --- list_read.c (revision 165900) +++ list_read.c (working copy) @@ -2105,8 +2105,9 @@ nml_parse_qualifier (st_parameter_dt *dtp, descrip /* If -std=f95/2003 or an array section is specified, do not allow excess data to be processed. */ - if (is_array_section == 1 - || !(compile_options.allow_std & GFC_STD_GNU)) + if (is_array_section == 1 + || !(compile_options.allow_std & GFC_STD_GNU) + || !dtp->u.p.ionml->touched) ls[dim].end = ls[dim].start; else dtp->u.p.expanded_read = 1;