(j3.2006) (SC22WG5.4753) [ukfortran] Provisional result of interpretations ballot 3, N1933

N.M. Maclaren nmm1
Sun Sep 2 13:06:35 EDT 2012


I withdrew the statement that led to this exchange in my corrected vote,
as I was simply wrong.  While it occurred, including it as a response
from the editor will be confusing.

Regards,
Nick Maclaren.



Nick Maclaren writes:
<<<
   I agree with John Reid that it would be better to state explicitly that
   they do not have the BIND attribute, but that would not help.  Sentences
   2 and 3 in 15.3.3 paragraph 2 states that they are interoperable, but
   sentence 1 of 15.3.4 paragraph states that a derived type is
   interoperable if and only if the Fortran type has the BIND attribute.
>>> 

No it does not state that.  I am boggled by this assertion!  p1 says
  "... is interoperable if it has ..."
i.e. It Most Emphatically Does Not Say "ONLY IF".

It is p2 that says that a derived type interoperates with a C struct *if 
and only if* it has the BIND attribute. That means that C_PTR and C_FUNPTR 
***CANNOT*** have the BIND attribute, because ***they do not interoperate 
with any C struct***.




More information about the J3 mailing list