From 0be8cb80ee8062154c853a2ea87fe01c287f91f6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tobias=20Schl=C3=BCter?= Date: Tue, 1 Nov 2005 22:55:02 +0100 Subject: [PATCH] re PR fortran/24008 (gfortran too permissive about ENTRY syntax) fortran/ PR fortran/24008 * decl.c (gfc_match_entry): Function entries need an argument list. testsuite/ PR fortran/24008 * gfortran.dg/entry_5.f90: New. * gfortran.fortran-torture/execute/entry_9.f90: Fix syntax error. From-SVN: r106358 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/decl.c | 2 +- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gfortran.dg/entry_5.f90 | 11 +++++++++++ .../gfortran.fortran-torture/execute/entry_9.f90 | 4 ++-- 5 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/entry_5.f90 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7fad64cddf7..4309d215574 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2005-11-01 Tobias Schl"uter + + PR fortran/24008 + * decl.c (gfc_match_entry): Function entries need an argument list. + 2005-11-01 Erik Edelmann PR 24245 diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index 7516057bfee..74aa6841d7a 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -2691,7 +2691,7 @@ gfc_match_entry (void) else { /* An entry in a function. */ - m = gfc_match_formal_arglist (entry, 0, 1); + m = gfc_match_formal_arglist (entry, 0, 0); if (m != MATCH_YES) return MATCH_ERROR; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 09504fca73b..370954da240 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2005-11-01 Tobias Schl"uter + + PR fortran/24008 + * gfortran.dg/entry_5.f90: New. + * gfortran.fortran-torture/execute/entry_9.f90: Fix syntax error. + 2005-11-01 Bob Wilson * gcc.dg/intmax_t-1.c: Disable for xtensa-*-elf*. diff --git a/gcc/testsuite/gfortran.dg/entry_5.f90 b/gcc/testsuite/gfortran.dg/entry_5.f90 new file mode 100644 index 00000000000..ad0554c76ad --- /dev/null +++ b/gcc/testsuite/gfortran.dg/entry_5.f90 @@ -0,0 +1,11 @@ +! { dg-do compile } +! PR 24008 +! an argument list to the entry is required +REAL FUNCTION funct() + funct = 0.0 + RETURN +! + ENTRY enter RESULT (answer) ! { dg-error "Unclassifiable statement" } + answer = 1.0 + RETURN +END FUNCTION funct diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/entry_9.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/entry_9.f90 index d29f4b8344c..a269fdf60ab 100644 --- a/gcc/testsuite/gfortran.fortran-torture/execute/entry_9.f90 +++ b/gcc/testsuite/gfortran.fortran-torture/execute/entry_9.f90 @@ -5,12 +5,12 @@ integer a, f1, e1 f1 = 15 + a return - entry e1 + entry e1() e1 = 42 end function function f2 () real f2, e2 - entry e2 + entry e2() e2 = 45 end function -- 2.30.2