------- Comment #9 from jvdelisle at gcc dot gnu dot org 2008-06-22 05:50 ------- This patch fixes the test case and requires adjustment to namelist_40.f90 and namelist_47.f90. I am not completely satisfied with this because it leaves us a less informative error message in those two test cases. I will explore a bit more.
Index: libgfortran/io/list_read.c =================================================================== --- libgfortran/io/list_read.c (revision 136998) +++ libgfortran/io/list_read.c (working copy) @@ -2649,7 +2649,10 @@ get_name: if (!is_separator (c)) push_char (dtp, tolower(c)); c = next_char (dtp); - } while (!( c=='=' || c==' ' || c=='\t' || c =='(' || c =='%' )); + } while (!( c=='=' || c==' ' || c=='\t' || c =='(' )); + + if (c == '%') + push_char (dtp, c); unget_char (dtp, c); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36582