(j3.2006) Coarray enquiry intrinsics
Malcolm Cohen
malcolm
Mon May 29 03:21:59 EDT 2017
Hi folks,
Consider
Program junk
Type t
Real c
End Type
Type(t) x[10:20,30:40,50:*]
Do i=1,3
Print *,Lcobound(x%c,i)
End Do
Print *,Lcobound(x)
Print *,Lcobound(x%c)
End Program
Since a subobject of a coarray is a coarray (unless vector subscripts are
involved), this would appear to be a valid program. It does seem pretty
daft though. Did we really intend to allow things like Lcobound(x%c) when X
is a coarray (and C is not a pointer, but could be either nonpointer
nonallocatable or an allocated allocatable)?
So far I am 1=Yes, 1=No by asking other compilers...
This seems especially interesting as in the array case,
Type(t) y(10:20,30:40,50:99)
Print *,Lbound(y)
we get the answers "1 1 1". The "1=Yes" compiler produces the answer (for
LCOBOUND) "10 30 50". But since it's not coindexable anyway, and we have no
way of "copying" the cobounds to something that is coindexable, the correct
answer for the lower cobounds of X%C is an interesting philosophical
question with no ramifications other than the return value of LCOBOUND...
Cheers,
--
..............Malcolm Cohen, NAG Oxford/Tokyo.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.j3-fortran.org/pipermail/j3/attachments/20170529/4f56ea3f/attachment.html
More information about the J3
mailing list