Gfortran rejects the following code with
  Error: Binding label 'foo' in interface body at (1)
         collides with the global entity 'foo' at (2)
However, it seems as if the code could be valid - either in Fortran 2003 or in
Fortran 2008. See thread at
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/02a37fa283e0ef25

One could consider sending an interpretation request.


use iso_c_binding
interface
    function foo_1() bind(c, name='foo')
      import
      integer(c_int) :: foo_1
    end function
    function foo_2() bind(c, name='foo')
      import
      integer(c_int) :: foo_2
    end function
  end interface
end


-- 
           Summary: Different local names in interfaces for same C-binding
                    name/same procedure
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          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=41704

Reply via email to