https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88052
--- Comment #4 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> --- Proposed patch: diff --git a/libgfortran/io/format.c b/libgfortran/io/format.c index f5d3158d21d..5ad57bef316 100644 --- a/libgfortran/io/format.c +++ b/libgfortran/io/format.c @@ -46,7 +46,8 @@ static const char posint_required[] = "Positive width required in format", bad_string[] = "Unterminated character constant in format", bad_hollerith[] = "Hollerith constant extends past the end of the format", reversion_error[] = "Exhausted data descriptors in format", - zero_width[] = "Zero width in format descriptor"; + zero_width[] = "Zero width in format descriptor", + comma_missing[] = "Missing comma between descriptors"; /* The following routines support caching format data from parsed format strings into a hash table. This avoids repeatedly parsing duplicate format strings @@ -1168,8 +1169,10 @@ parse_format_list (st_parameter_dt *dtp, bool *seen_dd) goto finished; default: - /* Assume a missing comma, this is a GNU extension */ - goto format_item_1; + /* Assume a missing comma with -std=legacy, GNU extension. */ + if (compile_options.warn_std == 0) + goto format_item_1; + format_error (dtp, tail, comma_missing); } /* Optional comma is a weird between state where we've just finished This then gives: $ gfc pr88052.f90 $ ./a.out (AF9.6) At line 6 of file pr88052.f90 (unit = 6, file = 'stdout') Fortran runtime error: Missing comma between descriptors (AF9.6) ^