From ee17cbda2e69d9d19d4664cef4f96ff180ca8c5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Schl=C3=BCter?= Date: Fri, 14 May 2004 15:26:03 +0200 Subject: [PATCH] re PR fortran/15051 (Incorrect error for empty interface block) testsuite: PR fortran/15051 * gfortran.fortran-torture/compile/empty_interface_1.f90: New test. fortran: PR fortran/15051 * parse.c (parse_interface): Allow empty INTERFACE, remove seen_body. Also added ChangeLog entry missing from previous commit, removed umlaut from ChangeLog, and fixed previous entry to use tabs. From-SVN: r81841 --- gcc/fortran/ChangeLog | 30 ++++++++++++++++--- gcc/fortran/parse.c | 8 ----- gcc/testsuite/ChangeLog | 6 ++++ .../compile/empty_interface_1.f90 | 4 +++ 4 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 gcc/testsuite/gfortran.fortran-torture/compile/empty_interface_1.f90 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index efd2a60659c..ab9f8ba4823 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,8 +1,30 @@ -2004-04-22 Tobias Schlüter +2004-05-08 Tobias Schlueter - PR fortran/14568 - * trans-decl.c (generate_local_decl): Don't warn for unused - variables which are in common blocks. + PR fortran/15051 + * parse.c (parse_interface): Allow empty INTERFACE, remove + seen_body. + +2004-05-08 Tobias Schlueter + + * Make-lang.in, arith.c, arith.h, array.c, bbt.c, check.c, + decl.c, dependency.c, dependency.h, dump-parse-tree.c, error.c, + expr.c, f95-lang.c, gfortran.h, interface.c, intrinsic.c, + intrinsic.h, io.c, iresolve.c, lang-specs.h, match.c, match.h, + matchexp.c, misc.c, module.c, options.c, parse.c, parse.h, + primary.c, resolve.c, scanner.c, simplify.c, st.c, symbol.c, + trans-array.c, trans-array.h, trans-common.c, trans-const.c, + trans-const.h, trans-decl.c, trans-expr.c, trans-intrinsic.c, + trans-io.c, trans-stmt.c, trans-stmt.h, trans-types.c, + trans-types.h, trans.c, trans.h: Update copyright years and + boilerplate. + * data.c: Likewise, also removed two whitespace-only lines. + * gfortranspec.c, lang.opt: Update copyright years. + +2004-04-22 Tobias Schlueter + + PR fortran/14568 + * trans-decl.c (generate_local_decl): Don't warn for unused + variables which are in common blocks. 2004-05-13 Diego Novillo diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index 00f29899c31..1ab5b6aa5cd 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -1409,7 +1409,6 @@ parse_interface (void) gfc_interface_info save; gfc_state_data s1, s2; gfc_statement st; - int seen_body; accept_statement (ST_INTERFACE); @@ -1420,7 +1419,6 @@ parse_interface (void) || current_interface.type == INTERFACE_USER_OP) ? gfc_new_block : NULL; push_state (&s1, COMP_INTERFACE, sym); - seen_body = 0; current_state = COMP_NONE; loop: @@ -1446,7 +1444,6 @@ loop: case ST_MODULE_PROC: /* The module procedure matcher makes sure the context is correct. */ - seen_body = 1; accept_statement (st); gfc_free_namespace (gfc_current_ns); goto loop; @@ -1512,8 +1509,6 @@ decl: goto decl; } - seen_body = 1; - current_interface = save; gfc_add_interface (prog_unit); @@ -1521,9 +1516,6 @@ decl: goto loop; done: - if (!seen_body) - gfc_error ("INTERFACE block at %C is empty"); - pop_state (); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c3a62881fac..6baf19a46ee 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2004-05-14 Tobias Schlueter + + PR fortran/15051 + * gfortran.fortran-torture/compile/empty_interface_1.f90: New + test. + 2004-05-14 Bud Davis PR fortran/15149 diff --git a/gcc/testsuite/gfortran.fortran-torture/compile/empty_interface_1.f90 b/gcc/testsuite/gfortran.fortran-torture/compile/empty_interface_1.f90 new file mode 100644 index 00000000000..d9089542394 --- /dev/null +++ b/gcc/testsuite/gfortran.fortran-torture/compile/empty_interface_1.f90 @@ -0,0 +1,4 @@ +! Program to test empty interfaces PR15051 +INTERFACE leer +END INTERFACE +END