From c9f4aa9767727934160c65b63ec69b88e93ec062 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Mon, 29 May 2006 19:33:43 +0000 Subject: re PR fortran/27634 (formatted reading/writing: real format without dot) 2006-05-29 Jerry DeLisle PR fortran/27634 * io.c (check_format): Add error for missing period in format specifier unless -std=legacy. * gfortran.texi: Add description of expanded namelist read and missing period in format extensions. From-SVN: r114213 --- gcc/fortran/io.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'gcc/fortran/io.c') diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c index 4a55cbd..aab5d39 100644 --- a/gcc/fortran/io.c +++ b/gcc/fortran/io.c @@ -413,7 +413,6 @@ static try check_format (void) { const char *posint_required = _("Positive width required"); - const char *period_required = _("Period required"); const char *nonneg_required = _("Nonnegative width required"); const char *unexpected_element = _("Unexpected element"); const char *unexpected_end = _("Unexpected end of format string"); @@ -610,8 +609,13 @@ data_desc: u = format_lex (); if (u != FMT_PERIOD) { - error = period_required; - goto syntax; + /* Warn if -std=legacy, otherwise error. */ + if (gfc_option.warn_std != 0) + gfc_error_now ("Period required in format specifier at %C"); + else + gfc_warning ("Period required in format specifier at %C"); + saved_token = u; + break; } u = format_lex (); @@ -653,8 +657,13 @@ data_desc: t = format_lex (); if (t != FMT_PERIOD) { - error = period_required; - goto syntax; + /* Warn if -std=legacy, otherwise error. */ + if (gfc_option.warn_std != 0) + gfc_error_now ("Period required in format specifier at %C"); + else + gfc_warning ("Period required in format specifier at %C"); + saved_token = t; + break; } t = format_lex (); -- cgit v1.1