[J3] Is BIND (C [ , NAME = scalar-default-char-constant-expr ]) where scalar-default-char-constant-expr has zero length legal?
Steve Lionel
steve at stevelionel.com
Wed Jan 9 09:00:43 EST 2019
Isn't this the subject of 16-161r1 from meeting 209? My notes say No action
(15.10.2 says "no binding label")
Steve
On Tue, Jan 8, 2019 at 6:03 PM Bill Long via J3 <j3 at mailman.j3-fortran.org>
wrote:
>
> > On Jan 8, 2019, at 2:20 PM, Daniel C Chen via J3 <
> j3 at mailman.j3-fortran.org> wrote:
> >
> > Hi Bill and Vipul,
> >
> > It is down to if "subroutine foo() bind(c, name='')" should be treated
> as:
> > 1. subroutine foo() bind(c), or
> > 2. subroutine foo()
>
> 3) Neither.
>
> Option 1 says that there is a binding label with the value ‘foo’.
> Option 2 says no binding label and no BIND(C) semantics.
>
> Option 3 is for no binding label, but with the BIND(C) semantics. That is
> what corresponds to specifying bind(c,name=s) where s is a character
> variable with zero length of all blank characters.
> >
> > BIND attribute is part of the characteristic of a procedure, so option 1
> and options 2 are significantly different.
>
> Correct.
>
> >
> > It seems option 1 is preferred, and I think it makes more sense too. The
> problem is I couldn't find any wording in the standard that makes it clear.
>
> 18.10.2 para 2.
>
> Cheers,
> Bill
>
> >
> > Thanks,
> >
> > Daniel
> >
> > XL Fortran Development, Fortran Standard Representative
> > IBM Toronto Software Lab
> > Phone: 905-413-3056
> > Tie: 969-3056
> > Email: cdchen at ca.ibm.com
> > http://www.ibm.com/software/awdtools/fortran/xlfortran
> >
> > <graycol.gif>Vipul Parekh via J3 ---01/08/2019 03:01:48 PM---On Tue, Jan
> 8, 2019 at 11:06 AM Daniel C Chen via J3 <j3 at mailman.j3-fortran.org>
> wrote:
> >
> > From: Vipul Parekh via J3 <j3 at mailman.j3-fortran.org>
> > To: General J3 interest list <j3 at mailman.j3-fortran.org>
> > Cc: Vipul Parekh <parekhvs at gmail.com>
> > Date: 01/08/2019 03:01 PM
> > Subject: Re: [J3] Is BIND (C [ , NAME =
> scalar-default-char-constant-expr ]) where
> scalar-default-char-constant-expr has zero length legal?
> > Sent by: "J3" <j3-bounces at mailman.j3-fortran.org>
> >
> >
> >
> >
> > On Tue, Jan 8, 2019 at 11:06 AM Daniel C Chen via J3
> > <j3 at mailman.j3-fortran.org> wrote:
> > >
> > > .. the standard doesn't specify what if the
> scalar-default-char-constant-exprhas zero length.
> > >
> > > Question: Should it be treated
> > > 1. as if the NAME specified is not specified or
> > > 2. the compiler should ignore the BIND attribute all together?
> > >
> >
> > Hi Daniel,
> >
> > You must have seen Jon's and Bill's responses. Just for your
> > reference, here's a (related?) thread from comp,lang.fortran on NAME
> > specifier with BIND attribute:
> >
> https://groups.google.com/d/msg/comp.lang.fortran/x3hMN4chYtc/ewskOS5oDAAJ
> >
> >
> > On Tue, Jan 8, 2019 at 11:31 AM Steidel, Jon L via J3
> > <j3 at mailman.j3-fortran.org> wrote:
> > > ..
> > > Both compilers compile without error or warning, and fail in the
> link/load step with an undefined reference to “foo” or “foo_”. So it looks
> like the Fortran name is used when NAME= is a zero length string.
> > > ..
> >
> > Hi Jon,
> >
> > Interestingly and (dare I say!) correctly and thankfully, your example
> > compiled using Intel Fortran can be linked with the object created by
> > that same compiler toward this code on Windows x64 platform
> >
> > subroutine foo( arg ) bind(C, name="foo")
> > real arg
> > print *, "foo: arg = ", arg
> > end subroutine
> >
> > and executed to produce the following output:
> >
> > foo: arg = 1.000000
> >
> > Regards,
> > Vipul
> >
> >
> >
> >
>
> Bill Long
> longb at cray.com
> Principal Engineer, Fortran Technical Support & voice: 651-605-9024
> Bioinformatics Software Development fax: 651-605-9143
> Cray Inc./ 2131 Lindau Lane/ Suite 1000/ Bloomington, MN 55425
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.j3-fortran.org/pipermail/j3/attachments/20190109/dc34f0da/attachment.html>
More information about the J3
mailing list