re PR fortran/56743 (Namelist bug with comment and no blank)

2015-04-21 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/56743
	* io/list_read.c (CASE_SEPARATORS): Add case for '!'.
	(is_separator): Add condition for '!'.
	(eat_separator): Use notify_std to warn or errord if '!' is
	encountered before a proper separator.

From-SVN: r222271
This commit is contained in:
Jerry DeLisle 2015-04-21 16:13:54 +00:00
parent 05416670a6
commit b45fe62d45
2 changed files with 13 additions and 2 deletions

View file

@ -1,3 +1,11 @@
2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/56743
* io/list_read.c (CASE_SEPARATORS): Add case for '!'.
(is_separator): Add condition for '!'.
(eat_separator): Use notify_std to warn or errord if '!' is
encountered before a proper separator.
2015-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/65089

View file

@ -53,12 +53,12 @@ typedef unsigned char uchar;
case '5': case '6': case '7': case '8': case '9'
#define CASE_SEPARATORS case ' ': case ',': case '/': case '\n': case '\t': \
case '\r': case ';'
case '\r': case ';': case '!'
/* This macro assumes that we're operating on a variable. */
#define is_separator(c) (c == '/' || c == ',' || c == '\n' || c == ' ' \
|| c == '\t' || c == '\r' || c == ';')
|| c == '\t' || c == '\r' || c == ';' || c == '!')
/* Maximum repeat count. Less than ten times the maximum signed int32. */
@ -523,6 +523,9 @@ eat_separator (st_parameter_dt *dtp)
case '!':
if (dtp->u.p.namelist_mode)
{ /* Eat a namelist comment. */
notify_std (&dtp->common, GFC_STD_GNU,
"'!' in namelist is not a valid separator,"
" try inserting a space");
err = eat_line (dtp);
if (err)
return err;