http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47136
Summary: [OOP] possible name resolution problems between MODULE
and INTERFACE?
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
In the snippet below, I believe that "ABSTRACT INTERFACE s" of "MODULE a" and
the "MODULE s" interfere with each other in an unholy way. If either is
renamed, the error goes away.
As I can not see why duplicate names like these should be invalid, I'd assume
the code as-is to be valid?!
MODULE a
ABSTRACT INTERFACE
SUBROUTINE s()
END SUBROUTINE
END INTERFACE
TYPE, ABSTRACT :: t
CONTAINS
PROCEDURE(s), DEFERRED, NOPASS :: pp
END TYPE
END MODULE
MODULE s
USE a
END MODULE
$ gfortran-svn -c iface.f90
iface.f90:17.7:
USE a
1
Error: 's' must be a module procedure or an external procedure with an explicit
interface at (1)
$ gfortran-svn -v
gcc version 4.6.0 20101230 (experimental) (GCC)
Same for
$ gfortran-4.5 -v
gcc version 4.5.3 20101230 (prerelease) (GCC)