CVS difference for ai05s/ai05-0112-1.txt
--- ai05s/ai05-0112-1.txt 2008/11/04 21:20:58 1.1
+++ ai05s/ai05-0112-1.txt 2009/03/10 03:23:55 1.2
@@ -1,5 +1,7 @@
-!standard 13.1(8) 08-08-13 AI05-0112-1/01
+!standard 13.1(8) 09-03-09 AI05-0112-1/02
!class binding interpretation 08-08-13
+!status Amendment 201Z 09-02-21
+!status ARG Approved 8-0-0 09-02-21
!status work item 08-08-13
!status received 08-06-21
!priority Low
@@ -9,13 +11,18 @@
!summary
-The aspect of representation specifed by a representation
-pragma is never anonymous.
+Names are defined for aspects of representation that did not have them.
-Confirmation: If the Independent_Components aspect of
+It is confirmed that if the Independent_Components aspect of
representation is specfied for a tagged type, then that
aspect is inherited by derived types.
+!question
+
+What is the name of the aspect of representation specified by each of
+the pragmas Atomic, Atomic_Components, Volatile, Volatile_Components,
+Independent, and Independent_Components?
+
!recommendation
(See Summary.)
@@ -29,19 +36,19 @@
AARM note - append after 13.1(8):
- A Volatile_Components pragma (see C.6), for example, specifies the
- Volatile_Components aspect of representation of its argument.
+ We give a default naming for representation aspects of representation
+ pragmas so we don't have to do that for every pragma. A Volatile_Components
+ pragma (see C.6), for example, specifies the Volatile_Components aspect
+ of representation of its argument. Representation attributes are defined
+ to be aspects of representation in 13.3. We don't want any anonymous
+ aspects.
!discussion
-What is name of the aspect of representation specified by each of
-the pragmas Atomic, Atomic_Components, Volatile, Volatile_Components,
-Independent, and Independent_Components?
-
-Before attempting to answer that question, consider why it is that
+Before attempting to answer the question, consider why it is that
anyone would care about the answer. What difference does it make?
-RM 13.1(9)states:
+RM 13.1(9) states:
If a representation item is given that directly specifies an aspect
of an entity, then it is illegal to give another representation item
that directly specifies the same aspect of the entity.
@@ -111,8 +118,25 @@
Similarly, this wording also applies to the Volatile and
Atomic aspects of implementation.
+
+!corrigendum 13.1(8)
---!corrigendum 13.1(8)
+@drepl
+A representation item @i<directly specifies> an @i<aspect of representation> of the
+entity denoted by the @fa<local_name>, except in the case of a type-related
+representation item, whose @fa<local_name> shall denote a first subtype, and which
+directly specifies an aspect of the subtype's type. A representation item that names
+a subtype is either @i<subtype-specific> (Size and Alignment clauses) or @i<type-related>
+(all others). Subtype-specific aspects may differ for different subtypes of the same type.
+@dby
+A representation item @i<directly specifies> an @i<aspect of representation> of the
+entity denoted by the @fa<local_name>, except in the case of a type-related
+representation item, whose @fa<local_name> shall denote a first subtype, and which
+directly specifies an aspect of the subtype's type. A representation item that names
+a subtype is either @i<subtype-specific> (Size and Alignment clauses) or @i<type-related>
+(all others). Subtype-specific aspects may differ for different subtypes of the same type.
+Unless otherwise specified, the name of the aspect of representation specified by a
+representation pragma is the name of the pragma.
!ACATS Test
Questions? Ask the ACAA Technical Agent