(j3.2006) (SC22WG5.3762) Response on the TR29113 draft N1761
Mon Dec 8 13:25:07 EST 2008
On Monday 08 December 2008 09:15, Bill Long wrote:
> Issue 6 - referencing or defining assumed rank entities:
> ? ? ? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ? ? ?We need some rules to deal with this.
> There are rules currently - basically that the only thing allowed on
> the Fortran side is to pass an assumed-rank dummy as an actual
> argument to another procedure. Are you saying that the scope of the
> TR needs to be expanded to specify ways for things like this to be
> used in Fortran?
Reinhold suggested a SELECT RANK construct. It does seem reasonable and
not hard for either vendors or the standard, and it is safe to use.
However, note that for TYPE(*) it is hard to do anything, since there is
no type descriptor passed like for CLASS(*) [so no TYPE SELECT for such
arguments]. So what do you do with a "TYPE(*), DIMENSION(..)" argument
inside a SELECT RANK? It will have a rank but not a declared type. Can
the standard even be parsed to figure out what one can do with such a
thing? We wanted to play it safe for now and simply say nothing is
allowed, except calls to certain intrinsics.
But, again, Reinhold's suggestion seems OK to me if it is deemed useful.
Aleksandar Donev, Ph.D.
Lawrence Postdoctoral Fellow @ Lawrence Livermore National Laboratory
High Performance Computational Materials Science and Chemistry
E-mail: donev1 at llnl.gov
Phone: (925) 424-6816 Fax: (925) 423-0785
Address: P.O.Box 808, L-367, Livermore, CA 94551-9900
More information about the J3