re PR libfortran/36657 (Namelist reading bug with string constant immediately followed by comment)

2008-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36657
	* io/list_read.c (read_character): Check for '!' along with separators.
	(find_nml_name): Likewise and eat the comment if found.

From-SVN: r137236
This commit is contained in:
Jerry DeLisle 2008-06-28 21:46:53 +00:00
parent d1c1c79f19
commit 7b063fdc13
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2008-06-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
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 <Ralf.Wildenhues@gmx.de>
* configure: Regenerate.

View File

@ -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. */