CVS difference for ai05s/ai05-0026-1.txt
--- ai05s/ai05-0026-1.txt 2007/12/13 04:39:35 1.3
+++ ai05s/ai05-0026-1.txt 2008/05/10 05:14:33 1.4
@@ -1,4 +1,4 @@
-!standard 7.6(9.4/2) 07-11-20 AI05-0026-1/03
+!standard 7.6(9.4/2) 08-04-09 AI05-0026-1/04
!class binding interpretation 06-11-13
@@ -11,7 +11,8 @@
!subject Missing rules for Unchecked_Unions
-A variant component type of an Unchecked_Union type shall not need finalization.
+A variant component of an Unchecked_Union type cannot have a type that
@@ -74,6 +75,10 @@
section, privacy is respected by default; if we want to ignore privacy,
then this must be stated explicitly.
+The addition to B.3.3(9/2) is in response to the second part of the
+question; a component_clause can only be used as part of a
It is intended that the new 10/2 formulation be equivalent (for purposes of
Legality Checking of Unchecked_Union pragmas) to changing the definition
of "needs finalization" to conservatively assume within a generic body
@@ -85,7 +90,7 @@
No_Nested_Finalization restriction checking is a post-compilation check while
legality checking for an Unchecked_Union pragma is not.
-B.3.3(7/2)'s requirement that "All component subtypes of an unchecked union
+The requirement of B.3.3(7/2) that "All component subtypes of an unchecked union
type shall be C-compatible" typically eliminates 99% of the problems in this
area anyway, but we don't want to rely on that.
@@ -122,16 +127,6 @@
The pragma should be rejected even if the implementation is willing
to permit I1.T as a C-compatible type (using the freedom granted by B.1(20)).
-1) The wording "or within the body of any of its descendant library units"
- follows the wording of 3.9.1(4/2). Alternatively, 4.8(5.3/2) uses
- "or within a body declared within the declarative region of [the] generic
- unit". Is one preferable to the other in this case?
- Incidentally, it appears that 10.2.1(10.1/2) has problems in this area and
- doesn't handle nested generics or generic child units very well.
Questions? Ask the ACAA Technical Agent