If the nondefault bit ordering 
applies to the composite type, and if a 
component_clause 
specifies the placement of C, denotes the value given for the 
position 
of the 
component_clause; 
otherwise, denotes the same value as R.C'Address – R'Address. The 
value of this attribute is of the type 
universal_integer. 
 
If the nondefault bit ordering 
applies to the composite type, and if a 
component_clause 
specifies the placement of C, denotes the value given for the 
first_bit 
of the 
component_clause; 
otherwise, denotes the offset, from the start of the first of the storage 
elements occupied by C, of the first bit occupied by C. This offset is 
measured in bits. The first bit of a storage element is numbered zero. 
The value of this attribute is of the type 
universal_integer.
 
If the nondefault bit ordering 
applies to the composite type, and if a 
component_clause 
specifies the placement of C, denotes the value given for the 
last_bit 
of the 
component_clause; 
otherwise, denotes the offset, from the start of the first of the storage 
elements occupied by C, of the last bit occupied by C. This offset is 
measured in bits. The value of this attribute is of the type 
universal_integer. 
 
If a component 
is represented using some form of pointer (such as an offset) to the 
actual data of the component, and this data is contiguous with the rest 
of the object, then the storage place attributes should reflect the place 
of the actual data, not the pointer. If a component is allocated discontiguously 
from the rest of the object, then a warning should be generated upon 
reference to one of its storage place attributes.