(j3.2006) (SC22WG5.4638) [ukfortran] Issue with C1255 in Interop TS

Malcolm Cohen malcolm
Tue Mar 13 19:51:09 EDT 2012


>The current para 1 of 15.3.5 is:
>
>"A named scalar Fortran variable is interoperable if and only if its type and 
>type parameters are interoperable, it is not a coarray, it has neither the 
>ALLOCATABLE nor the POINTER attribute, and if it is of type character its 
>length is not assumed or declared by an expression that is not a constant 
>expression."
>
>Among things that would appear to qualify as "interoperable" variables 
>according to this:
>
>1)  an assumed-type dummy argument associated with an interoperable effective 
>argument.

No.  An assumed-type dummy argument has no declared type so cannot satisfy the 
requirements.  (Also see final comments.)

>2) an assumed-shape or assumed-rank dummy argument with type and type 
>parameters that are interoperable.

Assumed-shape dummy arguments are not scalar.

There might be a problem if we think of assumed-rank variables as being scalar. 
Which as it stands I guess we do think of them as being "conditionally" scalar. 
Ugh.

So can we have an elemental procedure with an assumed-rank argument?  Oh dear.

Maybe we should just change the definition of "scalar" to exclude 
assumed-rank...

>Certainly the assumed-rank and assumed-shape cases come under the "new sense" 
>of interoperable.  Assumed-type is different, but I think still not anticipated 
>by the current text.

It is covered in precisely the same way that CLASS(*) is.  No-one has been 
confused about that, so I see no reason for confusion now.

Remember that unless clear otherwise from the context, "type" means both 
declared and dynamic type.  It might be a harmless clarification to insert 
"declared" into that sentence, but I'd need to think about it more; excluding 
dynamic type parameters from consideration certainly looks potentially 
problematic, whereas leaving it as the default both declared and dynamic is 
definitely ok.

Cheers,
-- 
................................Malcolm Cohen, Nihon NAG, Tokyo. 




More information about the J3 mailing list