J3/06-233r1
To: J3
From: Bill Long
Subject: C16 - UTI 77 : bits storage association
Date: 15-aug-2006
---------------------
Unresolved Technical Issue 77 (page 500) claims that the requirement
that if BITS_KIND(X) equals BITS_KIND(Y) then the storage used for X
and Y is the same leads to rampant nonportability and various other
problems.
Reply: The intent is to assure that a bits object is padded in memory
in the same way as an integer with the same bit_size or bits_kind
(which have equal values for integer or bits arguments assuming the
edits for Issue 61, paper 06-223). This is essentially a requirement
on the storage size for bits objects of a particular, small set of
kind values.
The objection raised relates to the involvement of other types,
forcing possible relationships between non-default reals and
non-default integers, for example. It would appear that this can be
avoided by replacing BITS_KIND with BIT_SIZE as the later has a far
more restricted set of argument types.
Edit:
-----
[500:7-8] Replace "Two objects" with "Two nonpointer, nonallocatable
scalar objects" and replace "BITS_KIND" with "BIT_SIZE".