CVS difference for ai05s/ai05-0009-1.txt

Differences between 1.9 and version 1.10
Log of other versions for file ai05s/ai05-0009-1.txt

--- ai05s/ai05-0009-1.txt	2008/10/25 04:53:13	1.9
+++ ai05s/ai05-0009-1.txt	2009/03/10 02:17:10	1.10
@@ -1,4 +1,4 @@
-!standard 9.10(1)                                      08-10-22    AI05-0009-1/07
+!standard 9.10(1)                                      09-03-09    AI05-0009-1/08
 !standard 13.1(15/1)
 !standard 13.2(9)
 !standard 13.3(13)
@@ -9,6 +9,8 @@
 !standard C.6(13)
 !standard C.6(14)
 !class binding interpretation 06-03-21
+!status Amendment 201Z 09-02-21
+!status ARG Approved  6-0-2  09-02-21
 !status work item 08-10-10
 !status ARG Approved  8-0-0  08-06-21
 !status work item 06-03-21
@@ -57,21 +59,15 @@
 object, are independently addressable, they can be manipulated
 concurrently by two different tasks without synchronization.
 Any two nonoverlapping objects are independently addressable if
-either object is atomic (see C.6), if a pragma Independent applies to
-either object (see C.6), or if either is a component of a composite object
-to which pragma Independent_Components applies (see C.6). Otherwise,
+either object is atomic (see C.6) or if either object is specified
+as independently addressable (see C.6). Otherwise,
 two nonoverlapping objects are independently addressable
 except when they are both parts of a composite object for which
 a non-confirming representation item is used to specify
 packing, record layout, Component_Size, or convention, in which case
 it is unspecified whether the parts are independently addressable.
 
-AARM Ramification: If the compiler cannot guarantee that an object
-(including a component) to which pragma Independent or pragma
-Independent_Components applies is independently addressable from
-any other nonoverlapping object, then the pragma must be rejected.
-
-Similarly, an atomic object (including atomic components)
+AARM Ramification: An atomic object (including atomic components)
 is always independently addressable from any other nonoverlapping object.
 Any representation item which would prevent this from being true should
 be rejected, notwithstanding what this Standard says elsewhere.
@@ -169,11 +165,13 @@
 
 Add after C.6(14): [Static Semantics]
 
-Pragmas Independent and Independent_Components guarantee independent addressability
-for the named object or component, or in the case of a type, for objects of that type
-(see 9.10).
+Pragmas Independent and Independent_Components *specify independent addressibility*
+for the named object or component(s), or in the case of a type, for objects of that type.
 
-[This is marked redundant in the AARM.]
+AARM Ramification: If the compiler cannot guarantee that an object
+(including a component) to which pragma Independent or pragma
+Independent_Components applies is independently addressable from
+any other nonoverlapping object, then the pragma must be rejected.
 
 !discussion
 
@@ -272,9 +270,8 @@
 object, are @i<independently addressable>, they can be manipulated
 concurrently by two different tasks without synchronization.
 Any two nonoverlapping objects are independently addressable if
-either object is atomic (see C.6), if a @fa<pragma> Independent applies to
-either object (see C.6), or if either is a component of a composite object
-to which @fa<pragma> Independent_Components applies (see C.6). Otherwise,
+either object is atomic (see C.6) or if either object is specified
+as independently addressable (see C.6). Otherwise,
 two nonoverlapping objects are independently addressable
 except when they are both parts of a composite object for which
 a non-confirming representation item is used to specify
@@ -388,6 +385,14 @@
 to which pragma Independent or Independent_Components applies, in a way that
 prevents the implementation from providing the independent addressability required
 by the pragma.
+
+!corrigendum C.6(14)
+
+@dinsa
+These pragmas are representation pragmas (see 13.1).
+@dinst
+Pragmas Independent and Independent_Components @i<specify independent addressibility>
+for the named object or component(s), or in the case of a type, for objects of that type.
 
 !ACATS Tests
 

Questions? Ask the ACAA Technical Agent