"If the characteristics of the result of the function named in the ENTRY statement are the same as the characteristics of the result of the function named in the FUNCTION statement, their result variables identify the same variable, although their names need not be the same. Otherwise, they are storage associated and shall all be nonpointer, nonallocatable scalars of type default integer, default real, double precision real, default complex, or default logical."
We can continue to allow allow the following program, but it should be rejected for -std=f95/f2003: ifort diagnoses: Error: line 7: The character lengths of the functions must not be different. NAG f95: Error: line 9: Incompatible character length for ENTRY BAR of function TEST function test() implicit none character(len=10) :: test character(len=1) :: bar test ="aaa" return entry bar() bar = "h" end function test * * * The following program is (correctly) rejected, but the error message could be improved: Error: ENTRY result bar2 can't be of type CHARACTER(1) in FUNCTION test2 at (1) NAG f95: Error: aa.f90, line 9: Storage-associated ENTRY point BAR2 does not have default kind Maybe something like: "Result characteristics of ENTRY function '%s' at %L and FUNCTION '%s' at %L shall either be the same or both non-character default-kind scalars." function test2() implicit none integer :: test2 character :: bar test2 ="aaa" return entry bar2() bar = "h" end function test2 -- Summary: ENTRY functions: Character with different stringlength not rejected Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: accepts-invalid, diagnostic Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34421