CVS difference for ai05s/ai05-0188-1.txt
--- ai05s/ai05-0188-1.txt 2011/03/03 07:13:42 1.17
+++ ai05s/ai05-0188-1.txt 2011/03/03 07:33:16 1.18
@@ -1,4 +1,4 @@
-!standard 3.8.1(15) 11-02-18 AI05-0188-1/11
+!standard 3.8.1(15) 11-02-19 AI05-0188-1/12
!standard 3.10.2(9/2)
!standard 3.10.2(32/2)
!standard 4.5.7(0)
@@ -16,6 +16,7 @@
!standard 6.5(5.5/2)
!class amendment 09-11-03
!status Amendment 2012 10-07-26
+!status ARG Approved 5-03 11-02-19
!status work item 11-02-18
!status ARG Approved 10-0-0 10-10-30
!status work item 09-11-03
@@ -101,9 +102,9 @@
Modify 3.8.1(15):
- If the discriminant is of a static constrained scalar subtype {and the
- discriminated type is not declared in an instance of a generic unit},
- then each non-others discrete_choice shall cover only values in that
+ If the discriminant is of a static constrained scalar subtype[,] then{,
+ except within an instance of a generic unit,}
+ each non-others discrete_choice shall cover only values in that
subtype, and each value of that subtype shall be covered by some
discrete_choice [(either explicitly or by others)];
@@ -249,12 +250,12 @@
*dependent_*expressions of the if_expression shall be of a boolean type.
All Legality Rules that apply to the discrete_choices of a case_statement (see 5.4),
-apply to the discrete_choices of a case_expression {which does not occur within
+apply to the discrete_choices of a case_expression {except within
an instance of a generic unit}.
- AARM note:
- The exemption for a case expression which occurs in an instance
- allows the following example:
+ AARM note:
+ The exemption for a case expression that occurs in an instance
+ allows the following example:
generic
with function Int_Func return Integer;
@@ -268,7 +269,9 @@
function Nat_Func return Natural is (123);
package I is new G (Int_Func => Nat_Func); -- Legal
-
+
+ Note that the Legality Rules still apply in the generic unit; they
+ are just not enforced in an instance.
Dynamic Semantics
@@ -385,8 +388,8 @@
each value of that subtype shall be covered by some @fa<discrete_choice> (either
explicitly or by others);>
@dby
-@xbullet<If the discriminant is of a static constrained scalar subtype and the
-discriminated type is not declared in an instance of a generic unit, then each
+@xbullet<If the discriminant is of a static constrained scalar subtype then,
+except within an instance of a generic unit, each
non-@b<others> @fa<discrete_choice> shall cover only values in that subtype, and
each value of that subtype shall be covered by some @fa<discrete_choice> (either
explicitly or by others);>
Questions? Ask the ACAA Technical Agent