From e3228a50387ff82d51f2edc37bc12e91fa21a25f Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Fri, 30 Sep 2016 23:19:58 +0000 Subject: re PR fortran/66643 (Missing compilation error for formatted data transfer without format) 2016-09-30 Jerry DeLisle PR fortran/66643 * io.c (match_dt_unit): Peek check for missing format. * gfortran.fortran-torture/compile/arrayio.f90: Update test. * gfortran.fortran-torture/compile/write.f90: Update test. From-SVN: r240686 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/io.c | 6 ++++++ 2 files changed, 11 insertions(+) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 19349a1..e309724 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2016-09-30 Jerry DeLisle + + PR fortran/66643 + * io.c (match_dt_unit): Peek check for missing format. + 2016-09-30 Fritz Reese PR fortran/77764 diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c index 48c15ef..7c48c49 100644 --- a/gcc/fortran/io.c +++ b/gcc/fortran/io.c @@ -2688,6 +2688,7 @@ static match match_dt_unit (io_kind k, gfc_dt *dt) { gfc_expr *e; + char c; if (gfc_match_char ('*') == MATCH_YES) { @@ -2695,6 +2696,11 @@ match_dt_unit (io_kind k, gfc_dt *dt) goto conflict; dt->io_unit = default_unit (k); + + c = gfc_peek_ascii_char (); + if (c == ')') + gfc_error_now ("Missing format with default unit at %C"); + return MATCH_YES; } -- cgit v1.1