(j3.2006) Binding label consistency in module procedures

Bill Long longb
Mon May 23 17:22:42 EDT 2016

Isn't this already prohibited by the last sentence of 16.2 p1:

"An entity of the program shall not be identified by more than one binding label."


On May 23, 2016, at 9:32 AM, Lionel, Steve <steve.lionel at intel.com> wrote:

> Consider:
> module U610575A
> interface
> module subroutine sub1 () bind(C,name='SUB1')
> end subroutine sub1
> end interface
> end module U610575A
> submodule(U610575A) U610575AS
> contains
> module subroutine sub1 () bind(C,name='NOTSUB1')
> end subroutine sub1
> end submodule U610575AS
> The standard says (F2008 for a specific interface that ?the characteristics shall be consistent with those specified in the procedure definition??. However, the list of procedure characteristics (12.3.1) includes only ?whether it has the BIND attribute? and not the value of NAME= in a language-binding-spec.
> I don?t want to see the standard trying to enforce binding label consistency in general, but I wondered if submodules should be a special case. If a program tried to call sub1, it would probably fail to link because of the name mismatch. Thoughts?
> Steve Lionel
> Intel Developer Support
> Merrimack, NH
> _______________________________________________
> J3 mailing list
> J3 at mailman.j3-fortran.org
> http://mailman.j3-fortran.org/mailman/listinfo/j3

Bill Long                                                                       longb at cray.com
Fortran Technical Support  &                                  voice:  651-605-9024
Bioinformatics Software Development                     fax:  651-605-9142
Cray Inc./ Cray Plaza, Suite 210/ 380 Jackson St./ St. Paul, MN 55101

More information about the J3 mailing list