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

Cohen Malcolm malcolm
Wed Feb 22 20:37:16 EST 2017


>Ugh.   I would have been happy never being aware of this wart.   Don?t 
>think I?ve ever seen it in actual code.

A not uncommon style used to be to put all the length specs on the variables 
instead of on the type name, e.g.

          CHARACTER A*10,B*4,C*99

This has obvious advantages if you are declaring character variables with 
lots of different lengths.

I don't think there is anything wrong with this.  I do not support making 
this obsolescent at this time.

Re DIMENSION and CODIMENSION, in my opinion it is the attribute on the 
type-spec that is obsolescent, not the one in the entity-decl.  I'd much 
rather deprecate those!  We can deprecate the DIMENSION and CODIMENSION 
statements while we are at it, they serve no other purpose than to promote 
unsafe programming practices.

>I'm not aware of any other
>place in the language where such overriding is allowed.

The way ASYNCHRONOUS and VOLATILE work (unlike every other specification 
statement, they override the host associated entity's lack of those 
attributes instead of creating a local entity) is much more confusing than 
this.

>a paper that has to be passed by a majority?

It's WG5, and it's far too late to make technical changes that are not 
fixes.  This is not a fix.  And WG5 is supposed to operate by consensus, not 
the tyranny of the majority.

WG5 has already made several things obsolescent/deleted this time around.  I 
fully expect us to consider making more things obsolescent next time.  Maybe 
even delete some things, though that makes little difference to most vendors 
other than the wording of the warning message.

Cheers,
-- 
.............Malcolm Cohen, NAG Oxford/Tokyo. 




More information about the J3 mailing list