------- Comment #2 from aldot at gcc dot gnu dot org 2006-11-01 21:44 ------- For your initial testcase, Lahey talks about
Compiling program unit main at line 1: Interface body name(fun) 1173-S: "SOURCE.F90", line 6: Derived type definition for 'foo' missing. Internal subprogram name() 2007-W: "SOURCE.F90", line 12: No value assigned to function, entry, or function result name of function subprogram. 1712-S: "SOURCE.F90", line 12, column 22: 'fun' already used as an external function name. 1069-S: "SOURCE.F90", line 13, column 16: Name 'ieee_class_r4' specified in END FUNCTION statement must be identical to function name specified in FUNCTION statement. Encountered 3 errors, 1 warning, 0 informations in file SOURCE.F90. Compiling file SOURCE.F90. With the proposed fix (the hunk against decl.c, the rest seems to be already fixed on trunk) from Paul for PR 29539, we have $ gfortran-4.3-HEAD -W -Wall -Wextra -c -o pr29634.o pr29634.f90 In file pr29634.f90:12 type(foo) function fun() 1 Error: Syntax error in data declaration at (1) In file pr29634.f90:13 end function ieee_class_r4 1 Error: Expecting END PROGRAM statement at (1) Which doesn't sound optimal to me. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29634