Commit 11670eeb by Roger Sayle Committed by Roger Sayle

io.c (check_format): As a GNU extension...


	* io.c (check_format): As a GNU extension, allow the comma after a
	string literal to be optional in a format.  Use gfc_notify_std to
	issue an error/warning as appropriate.

	* io/format.c (parse_format_list): Allow the comma after a string
	literal to be optional.

From-SVN: r82109
parent 0b817eb0
2004-05-21 Roger Sayle <roger@eyesopen.com>
* io.c (check_format): As a GNU extension, allow the comma after a
string literal to be optional in a format. Use gfc_notify_std to
issue an error/warning as appropriate.
2004-05-21 Roger Sayle <roger@eyesopen.com>
* io.c (check_format): Use gfc_notify_std to determine whether to
issue an error/warning for omitting the digits from the X format.
......
......@@ -481,9 +481,11 @@ format_item:
case FMT_SIGN:
case FMT_BLANK:
case FMT_CHAR:
goto between_desc;
case FMT_CHAR:
goto extension_optional_comma;
case FMT_COLON:
case FMT_SLASH:
goto optional_comma;
......@@ -728,6 +730,38 @@ optional_comma:
goto format_item;
extension_optional_comma:
/* As a GNU extension, permit a missing comma after a string literal. */
t = format_lex ();
switch (t)
{
case FMT_COMMA:
break;
case FMT_RPAREN:
level--;
if (level < 0)
goto finished;
goto between_desc;
case FMT_COLON:
case FMT_SLASH:
goto optional_comma;
case FMT_END:
error = unexpected_end;
goto syntax;
default:
if (gfc_notify_std (GFC_STD_GNU, "Extension: Missing comma at %C")
== FAILURE)
return FAILURE;
saved_token = t;
break;
}
goto format_item;
syntax:
/* Something went wrong. If the format we're checking is a string,
generate a warning, since the program is correct. If the format
......
2004-05-21 Roger Sayle <roger@eyesopen.com>
* io/format.c (parse_format_list): Allow the comma after a string
literal to be optional.
2004-05-18 Paul Brook <paul@codesourcery.com>
Feng Wang <fengwang@nudt.edu.cn>
......
......@@ -543,7 +543,7 @@ format_item:
tail->u.string.p = string;
tail->u.string.length = value;
tail->repeat = 1;
goto between_desc;
goto optional_comma;
case FMT_S:
case FMT_SS:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment