aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2005-11-01 22:55:02 +0100
committerTobias Schlüter <tobi@gcc.gnu.org>2005-11-01 22:55:02 +0100
commit0be8cb80ee8062154c853a2ea87fe01c287f91f6 (patch)
tree4335caee281df02cc8c23623c35e266e0f85e8f3
parent6a8697062cd7b29a9bb17b5d4af09035e143a23d (diff)
downloadgcc-0be8cb80ee8062154c853a2ea87fe01c287f91f6.zip
gcc-0be8cb80ee8062154c853a2ea87fe01c287f91f6.tar.gz
gcc-0be8cb80ee8062154c853a2ea87fe01c287f91f6.tar.bz2
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
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/decl.c2
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/entry_5.f9011
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/entry_9.f904
5 files changed, 25 insertions, 3 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 7fad64c..4309d21 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-01 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/24008
+ * decl.c (gfc_match_entry): Function entries need an argument list.
+
2005-11-01 Erik Edelmann <eedelman@gcc.gnu.org>
PR 24245
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 7516057..74aa684 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 09504fc..370954d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2005-11-01 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/24008
+ * gfortran.dg/entry_5.f90: New.
+ * gfortran.fortran-torture/execute/entry_9.f90: Fix syntax error.
+
2005-11-01 Bob Wilson <bob.wilson@acm.org>
* 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 0000000..ad0554c
--- /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 d29f4b8..a269fdf 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