mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-10 15:05:14 +08:00
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:
parent
d1c1c79f19
commit
7b063fdc13
@ -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>
|
2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||||
|
|
||||||
* configure: Regenerate.
|
* configure: Regenerate.
|
||||||
|
@ -1083,7 +1083,7 @@ read_character (st_parameter_dt *dtp, int length __attribute__ ((unused)))
|
|||||||
invalid. */
|
invalid. */
|
||||||
done:
|
done:
|
||||||
c = next_char (dtp);
|
c = next_char (dtp);
|
||||||
if (is_separator (c))
|
if (is_separator (c) || c == '!')
|
||||||
{
|
{
|
||||||
unget_char (dtp, c);
|
unget_char (dtp, c);
|
||||||
eat_separator (dtp);
|
eat_separator (dtp);
|
||||||
@ -2916,13 +2916,14 @@ find_nml_name:
|
|||||||
|
|
||||||
/* A trailing space is required, we give a little lattitude here, 10.9.1. */
|
/* A trailing space is required, we give a little lattitude here, 10.9.1. */
|
||||||
c = next_char (dtp);
|
c = next_char (dtp);
|
||||||
if (!is_separator(c))
|
if (!is_separator(c) && c != '!')
|
||||||
{
|
{
|
||||||
unget_char (dtp, c);
|
unget_char (dtp, c);
|
||||||
goto find_nml_name;
|
goto find_nml_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
eat_separator (dtp);
|
if (c == '!')
|
||||||
|
eat_line (dtp);
|
||||||
|
|
||||||
/* Ready to read namelist objects. If there is an error in input
|
/* Ready to read namelist objects. If there is an error in input
|
||||||
from stdin, output the error message and continue. */
|
from stdin, output the error message and continue. */
|
||||||
|
Loading…
Reference in New Issue
Block a user