diff options
Diffstat (limited to 'gcc/fortran/io.c')
-rw-r--r-- | gcc/fortran/io.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c index 979dfc2..298c758 100644 --- a/gcc/fortran/io.c +++ b/gcc/fortran/io.c @@ -483,7 +483,6 @@ check_format (bool is_input) " at %L"); const char *unexpected_end = _("Unexpected end of format string"); const char *zero_width = _("Zero width in format descriptor"); - const char *g0_precision = _("Specifying precision with G0 not allowed"); const char *error; format_token t, u; @@ -701,27 +700,25 @@ data_desc: error = zero_width; goto syntax; } - if (gfc_notify_std (GFC_STD_F2008, "Fortran 2008: 'G0' in " "format at %C") == FAILURE) return FAILURE; + u = format_lex (); + if (u != FMT_PERIOD) + { + saved_token = u; + break; + } u = format_lex (); - if (u == FMT_PERIOD) + if (u == FMT_ERROR) + goto fail; + if (u != FMT_POSINT) { - error = g0_precision; + error = posint_required; goto syntax; } - saved_token = u; - goto between_desc; - } - - if (u == FMT_ERROR) - goto fail; - if (u != FMT_POSINT) - { - error = posint_required; - goto syntax; + break; } u = format_lex (); |