> In section 5.1, it says:
>
> Constraint: If the TARGET attribute is specified, the POINTER,
> EXTERNAL, INTRINSIC, or PARAMETER attribute shall not be
> specified.
>
> What was the rationale for disallowing the combination of PARAMETER
> and TARGET?
I think there is a good reason (not like with the F77 constraint of no
PARAMETER arrays, which I think was due to the fact that PARAMETER got
in rather late in the game): a TARGET has to be an address in memory.
With PARAMETERs, they might be stored in normal memory, or in read-only
memory, or whatever, but I think that they don't have to actually be
stored in memory at all. Thus, TARGET wouldn't make much sense: what
does it point to?
> I wanted to use it for switching between some large
> precomputed tables, but the compiler wouldn't let me and has the
> standard to back it up ...
I don't really see the advantage here. Presumably, your precomputed
tables are PARAMETER arrays. Just put them all in one big table with an
extra dimension, and switch between them by deciding what the index of
that extra dimension will be. This might even be better than the
POINTER approach.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|