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: unassig...@gcc.gnu.org
        ReportedBy: dfra...@gcc.gnu.org
                CC: ja...@gcc.gnu.org


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)

Reply via email to