Cf. http://groups.google.com/group/comp.lang.fortran/msg/3ff093de4ed9e7c0
The following program is valid as F2003 has:
"12.3.2.1 Interface block
"A generic name may be the same as a derived-type name, in which case all of
the procedures in the interface block shall be functions."
Currently, it is rejected with:
Error: DERIVED attribute of 'foo' conflicts with PROCEDURE attribute at (1)
module foobar
implicit none
type foo
integer :: bar
end type
interface foo
module procedure constructor
end interface
contains
type(foo) function constructor()
constructor%bar=1
end function
end module
--
Summary: F2003: GENERIC interface with generic name = derived-
type name
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
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=40824