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

Differences between 1.2 and version 1.3
Log of other versions for file ai05s/ai05-0220-1.txt

--- ai05s/ai05-0220-1.txt	2010/08/05 01:11:52	1.2
+++ ai05s/ai05-0220-1.txt	2010/08/13 05:32:36	1.3
@@ -98,11 +98,14 @@
 
 !discussion
 
-The existing wording is quite clear that it applies only when there are actually
-components. However, as the questioner points out, this makes little sense
-since it makes the interpretation of the rule dependent on discriminant values
-that aren't necessarily known when this rule is enforced. Essentially, the rule is
-circular in that it depends on itself in order to be understandable.
+The existing wording is quite clear that it applies only when there 
+are actually components. This is well-defined when a variant_part has
+no components at all. However, as the questioner points out, this 
+makes little sense when some variants have components and others do not
+since it makes the interpretation of the rule dependent on discriminant
+values that aren't necessarily known when this rule is enforced.
+Essentially, the rule is circular in that it depends on itself being enforced
+in order to make any sense.
 
 Thus we adopt a rule that does not depend on components that are "needed". For
 this new rule, the variants of the variant_part P mentioned in the wording play
@@ -117,6 +120,13 @@
 whether a variant has components in enforcing 4.3.1(17). Thus, the
 incompatibility does not exist in practice (compilers already reject such
 programs).
+
+What was supposed to happen when some variants have components and others do not
+was not well-defined by the existing 4.3.1(17). Thus, it is possible for a compiler
+to have allowed some cases that will now be clearly illegal. This is also a
+potential incompability, but since our compiler survey did not identify any such
+compilers, it seems unlikely. In any case, such programs would not have been
+portable to the majority of existing Ada compilers.
 
 Note that wording following "unless" exists to allow the last example of the
 !question to remain legal. This is necessary to avoid an unnecessary

Questions? Ask the ACAA Technical Agent