(j3.2006) (SC22WG5.3591) Assumed-type and Assumed-rank extensions for C Interop TR.

Van Snyder Van.Snyder
Fri Jul 25 21:22:59 EDT 2008

On Fri, 2008-07-25 at 14:55 -0500, Bill Long wrote:
> Van Snyder wrote:
> >
> > RANK() was proposed for Fortran 90 in about 1986.  I argued against it, 
> > back when I didn't appreciate the difference between specification and 
> > initialization expressions, and it disappearred.  I don't know whether 
> > it was my arguments that made the difference, or others objected as 
> > well, and more eloquently and effectively than I did.
> >   
> I imagine that RANK() might have been rejected for f90 because the rank 
> of an object was blatantly obvious from its declaration as an array (or 
> scalar).   The assumed-rank concept is new here, and fails to come under 
> that argument.  Whether a new intrinsic is needed now seems like a valid 
> discussion point.  I left it out on the minimal changes principle, 
> rather than because I thought it was defective.

To interface to HDF, I need a rank-1 array of the same extent as the
rank of another one.  I use size(lbound(X)).  I'd like to make this the
value of a parameter, but at least one processor insists I can't do this
because X is of assumed shape (the lower bound isn't specified, so it's
1).  So I make it the dimension of a variable S, then get its value
using size(S).

As Malcolm says, this might more properly fall into the category of
"processor has bugs" than "vendors disagree."


More information about the J3 mailing list