(j3.2006) Future deprecation of overriding character length, dimension and codimension

Steve Lionel steve
Wed Feb 22 09:11:16 EST 2017


The standard currently allows character lengths, dimensions and 
codimensions to be multiply specified in a declaration. For example:

character(len=10), dimension(30)            :: foo2*50(20)
! or
character*10     , dimension(30)            :: foo3*50(20)
! or
real, codimension [3,*] :: foo4[10,*]

17-007 8.2:

p1 The type and type parameters are those specified by 
declaration-type-spec, except that the character length type parameter 
may be overridden for an entity by the appearance of * char-length in 
its entity-decl.

p2 The type declaration statement also specifies the attributes whose 
keywords appear in the attr-spec, except that the DIMENSION attribute 
may be specified or overridden for an entity by the appearance of 
array-spec in its entity-decl, and the CODIMENSION attribute may be 
specified or overridden for an entity by the appearance of coarray-spec 
in its entity-decl.

This can be very confusing and I would like to see such "overriding" 
deprecated in a future (2020?) standard so that processors are required 
to have the capability of diagnosing this. I'm not aware of any other 
place in the language where such overriding is allowed. Thoughts?

Steve




More information about the J3 mailing list