Commit 5115f4aa by Paul Thomas Committed by Tobias Burnus

re PR fortran/30873 ([4.1 only] ENTRY without explict RESULT does not work for recursive functions)

2007-03-02  Paul Thomas  <pault@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>

	PR fortran/30873
	* decl.c (gfc_match_entry): Remove erroneous entry result check.

2007-03-02  Paul Thomas  <pault@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>

	PR fortran/30873
	* gfortran.dg/entry_9.f90: New test.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r122495
parent 14b8969d
2007-03-02 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/30873
* decl.c (gfc_match_entry): Remove erroneous entry result check.
2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
* Make-lang.in: Add install-pdf target as copied from
......
......@@ -3030,12 +3030,6 @@ gfc_match_entry (void)
entry->result = result;
}
if (proc->attr.recursive && result == NULL)
{
gfc_error ("RESULT attribute required in ENTRY statement at %C");
return MATCH_ERROR;
}
}
if (gfc_match_eos () != MATCH_YES)
......
2007-03-02 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/30873
* gfortran.dg/entry_9.f90: New test.
2007-03-02 Simon Martin <simartin@users.sourceforge.net>
PR c++/28253
! { dg-do "run" }
! Check whether RESULT of ENTRY defaults to entry-name.
! PR fortran/30873
!
! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
!
MODULE M1
CONTAINS
FUNCTION F2(K)
INTEGER :: F2,K
F2=E1(K)
END FUNCTION F2
RECURSIVE FUNCTION F1(I)
INTEGER :: F1,I,E1
F1=F2(I)
RETURN
ENTRY E1(I)
E1=-I
RETURN
END FUNCTION F1
END MODULE M1
program main
use m1
if (E1(5) /= -5) call abort()
if (F2(4) /= -4) call abort()
if (F1(1) /= -1) call abort()
end program main
! { dg-final { cleanup-modules "m1" } }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment