(j3.2006) BIND(C, name='') means no binding label?
Jim Xia
jimxia
Wed Jul 25 10:50:38 EDT 2007
Hi everyone,
This is a issue raised by Rob James before he left IBM, so I brought it
here to see if this topic was discussed within J3 members. Consider the
following declaration
INTEGER(C_INT), BIND(C, name = ' ') :: foo
The question is: does this declaration conform to F2003 standard?
Here is what subclause 15.3.1 [403:4-9] says
If a variable or common block has the BIND attribute with the NAME=
specifier and the value of its
expression, after discarding leading and trailing blanks, has nonzero
length, the variable or common
block has this as its binding label. The case of letters in the binding
label is significant. If a variable
or common block has the BIND attribute specified without a NAME=
specifier, the binding label is the
same as the name of the entity using lower case letters. Otherwise, the
variable of common block has
no binding label.
Based on this paragraph, the previous declaration of FOO does not have a
binding label. What does that mean? Does it mean it behaves just as if
the following declaration: INTEGER(C_INT) :: foo, or this is a declaration
the same as if no name= specifier is supplied: INTEGER(C_INT), BIND(C) ::
foo
Thanks,
Jim Xia
XL Fortran Compiler Testing
IBM Toronto Lab at 8200 Warden Ave.
Phone (905) 413-3444 Tie-line 969-3444
D2/NAH/8200 /MKM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://j3-fortran.org/pipermail/j3/attachments/20070725/ac1660c6/attachment.html
More information about the J3
mailing list