(j3.2006) (SC22WG5.5615) RE: F08/0139??
Bill Long
longb
Sat Dec 19 18:33:39 EST 2015
On Dec 19, 2015, at 2:45 PM, Whitlock, Stan <stan.whitlock at intel.com> wrote:
> Hi, Bill - I'm sure what you are seeing but interp F08/0139 in N2092 looks like this:
>
> ----------------------------------------------------------------------
>
> NUMBER: F08/0139
> TITLE: Is the name of an external procedure that has a binding label
> a local identifier?
> KEYWORDS: TRANSFER, zero-sized scalar
> DEFECT TYPE: Erratum
> STATUS: Passed by J3 meeting
>
> QUESTION:
>
> Consider the program fragment:
>
> Subroutine s() Bind(C,Name='Hello')
> Print *,'Hello'
> End Subroutine
> Subroutine s() Bind(C,Name='World')
> Print *,'World'
> End Subroutine
>
> This does not conform to Fortran 2003, and is not listed as an
> extension in the Introduction to Fortran 2008, but the rules for
> global names seem to indicate that this is now conforming.
>
> Is this extension deliberate?
>
> ANSWER:
>
> Yes, this was a deliberate change to the Fortran standard.
> An edit is provided to mention this in the Introduction.
>
> EDITS:
>
> [xvi] Introduction, paragraph 2, bullet "Programs and procedures",
> append to paragraph
> "The name of an external procedure that has a binding label
> is a local identifier and not a global identifier.".
>
> SUBMITTED BY: Malcolm Cohen
>
> HISTORY: 15-177 m207 F08/0139 submitted - passed by J3 meeting
>
> ----------------------------------------------------------------------
>
> What are you seeing?
The same. I cut/pasted the text from John?s email attachment N2092. I don?t disagree with the ultimate edit, only the example and question. The end of the Question is ?this is now conforming?, but that is not generally the case. You could alternatively make a module containing the text from the example, and have the main program use the module and call s(). That is also not workable. The example code is too limited to make a statement about its conformance. It will raise more questions that it helps to answer. A whole, compilable and executable example would much better.
Cheers,
Bill
>
> Thanks /Stan
>
> -----Original Message-----
> From: j3-bounces at mailman.j3-fortran.org [mailto:j3-bounces at mailman.j3-fortran.org] On Behalf Of Bill Long
> Sent: Saturday, December 19, 2015 2:41 PM
> To: fortran standards email list for J3
> Subject: (j3.2006) F08/0139??
>
> Interp F08/0139 (now out for ballot) starts with
>
>
> --
>
> QUESTION:
>
>
> Consider the program fragment:
>
> Subroutine s() Bind(C,Name='Hello')
> Print *,'Hello'
> End Subroutine
> Subroutine s() Bind(C,Name='World')
> Print *,'World'
> End Subroutine
>
> --
>
> without any further context. So, this could be part of the following program:
>
> program ambiguous
>
> call s
>
> contains
>
> Subroutine s() Bind(C,Name='Hello')
> Print *,'Hello'
> End Subroutine
> Subroutine s() Bind(C,Name='World')
> Print *,'World'
> End Subroutine
>
> end program ambiguous
>
> We didn't really intend for this to be conforming, did we? I think this interp needs a clearer example/question.
>
> Cheers,
> Bill
>
> 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
>
>
> _______________________________________________
> J3 mailing list
> J3 at mailman.j3-fortran.org
> http://mailman.j3-fortran.org/mailman/listinfo/j3
> _______________________________________________
> 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