CVS difference for ai12s/ai12-0322-1.txt
--- ai12s/ai12-0322-1.txt 2019/03/09 05:05:39 1.3
+++ ai12s/ai12-0322-1.txt 2019/03/12 01:54:19 1.4
@@ -1,7 +1,9 @@
-!standard 4.9(15) 19-03-09 AI12-0322-1/03
+!standard 4.9(16) 19-03-11 AI12-0322-1/04
!standard 5.2.1(4/5)
!standard 5.2.1(5/5)
!class Amendment 19-03-07
+!status Amendment 1-2012 19-03-11
+!status ARG Approved 10-0-0 19-03-11
!status work item 19-03-07
!status received 19-03-07
!priority Low
@@ -22,22 +24,17 @@
!wording
-Add after 4.9(15):
+Add after 4.9(16):
- * It is a target_name in an assignment_statement whose /variable_/name statically
- denotes the entity;
+ * It is a target_name (see 5.2.1) in an assignment_statement whose
+ /variable_/name statically denotes some entity;
-Change the redundant markings in 5.2.1(3/5):
-
- Redundant[If a target_name occurs in an assignment_statement A, the
- variable_name V of A is a complete context.] The target name is a
- Redundant[constant] view of V, having the nominal subtype of V.
-
Modify AARM 5.2.1(3.a/5):
The complete context rule is formally given in 8.6. The constant view rule is
- formally given in 3.3[; the nominal subtype follows from the equivalence
- given below in Static Semantics].
+ formally given in 3.3; the nominal subtype {is a property taken from the
+ target object as described below in Dynamic Semantics}[follows from the
+ equivalence given below in Static Semantics].
Modify 5.2.1(4/5):
@@ -53,20 +50,20 @@
Dynamic Semantics
For the execution of an assignment_statement with one or more target_names
-appearing in its expression, the /variable_/name V of the assignment statement
+appearing in its expression, the /variable_/name V of the assignment_statement
is evaluated first to determine the object denoted by V, and then the
expression of the assignment_statement is evaluated with the evaluation of
-each target_name yielding a constant view of the object denoted by V. The
+each target_name yielding a constant view of the the target whose properties
+are otherwise identical to those of the view provided by V. The
remainder of the execution of the assignment_statement is as given in
subclause 5.2.
AARM Ramification: Use of a target_name can be erroneous if the
- /variable_/name V is a discriminant-dependent component, and some
- other constituent of the expression modifies the discriminant
- governing V. The assignment probably would be erroneous anyway,
- but the use of a target_name eliminates the possibility that a
- later evaluation of V raises an exception before any erroneous
- execution occurs. See 3.7.2.
+ /variable_/name V is a discriminant-dependent component, and some other
+ constituent of the expression modifies the discriminant governing the
+ component V. The assignment probably would be erroneous anyway, but the use
+ of a target_name eliminates the possibility that a later evaluation of V
+ raises an exception before any erroneous execution occurs. See 3.7.2.
!discussion
@@ -80,14 +77,27 @@
!ASIS
-[Not sure. It seems like some new capabilities might be needed,
-but I didn't check - Editor.]
+No change is needed (this AI is not adding any new capabilities; AI12-0125-3
+should describe the ASIS changes needed to support target name symbols).
!ACATS test
ACATS B- and C-Tests are needed to check that the new capabilities are
supported.
+!corrigendum 4.9(16)
+
+@dinsa
+@xbullet<It is an @fa<attribute_reference> whose @fa<prefix> statically
+denotes some entity; or>
+@dinst
+@xbullet<It is a @fa<target_name> (see 5.2.1) in an @fa<assignment_statement>
+whose @i<variable_>@fa<name> statically denotes some entity; or>
+
+!corrigendum 5.2.1(0)
+
+@dinsc
+Just to force a conflict; the actual changes are found in the conflict file.
!appendix
Questions? Ask the ACAA Technical Agent