diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index ac9e2710a28..69a205949bf 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2008-06-28 Jerry DeLisle + + PR fortran/36657 + * io/list_read.c (read_character): Check for '!' along with separators. + (find_nml_name): Likewise and eat the comment if found. + 2008-06-17 Ralf Wildenhues * configure: Regenerate. diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index ffa23693a86..82c288f6c6e 100644 --- a/libgfortran/io/list_read.c +++ b/libgfortran/io/list_read.c @@ -1083,7 +1083,7 @@ read_character (st_parameter_dt *dtp, int length __attribute__ ((unused))) invalid. */ done: c = next_char (dtp); - if (is_separator (c)) + if (is_separator (c) || c == '!') { unget_char (dtp, c); eat_separator (dtp); @@ -2916,13 +2916,14 @@ find_nml_name: /* A trailing space is required, we give a little lattitude here, 10.9.1. */ c = next_char (dtp); - if (!is_separator(c)) + if (!is_separator(c) && c != '!') { unget_char (dtp, c); goto find_nml_name; } - eat_separator (dtp); + if (c == '!') + eat_line (dtp); /* Ready to read namelist objects. If there is an error in input from stdin, output the error message and continue. */