CVS difference for ai12s/ai12-0345-1.txt

Differences between 1.4 and version 1.5
Log of other versions for file ai12s/ai12-0345-1.txt

--- ai12s/ai12-0345-1.txt	2020/01/17 05:23:06	1.4
+++ ai12s/ai12-0345-1.txt	2020/01/28 04:49:40	1.5
@@ -37,14 +37,14 @@
 
 !wording
 
-Modify 3.10.2 (5):
+Modify 3.10.2(5):
 
   Each master, and each entity and view created by it, has an
   accessibility level{; when two levels are defined to be the same, the
   accessibility levels of the two associated entities are said to be
   *tied* to each other}:
 
-Modify 3.10.2 (7/4):
+Modify 3.10.2(7/4):
 
    An entity or view defined by a declaration and created as part of its
    elaboration has the same accessibility level as the innermost master
@@ -54,14 +54,14 @@
    entity has the same accessibility level as the master representing
    the invocation of the entity. 
 
-Delete AARM 3.10.2(10.d.6/3):
-   - when the function has an explicitly aliased parameter. 
-
 Modify 3.10.2(10.5/3):
    If the call itself defines the result of a function to which one of the 
    above rules applies,{ or has an accessibility level that is tied to the 
    result of such a function,} these rules are applied recursively;
 
+Delete AARM 3.10.2(10.d.6/3):
+   - when the function has an explicitly aliased parameter. 
+
 Delete 3.10.2(13.4/4):
    The accessibility level of an explicitly aliased (see 6.1) formal
    parameter in a function body is determined by the point of call; it
@@ -202,6 +202,80 @@
 
 The old rule did not apply to this case as it said "used as the return"; here
 only a part of the return is used, and that part comes via a dereference. 
+
+
+!corrigendum 3.10.2(5)
+
+@drepl
+Each master, and each entity and view created by it, has an accessibility 
+level: 
+@dby
+Each master, and each entity and view created by it, has an
+accessibility level; when two levels are defined to be the same, the
+accessibility levels of the two associated entities are said to be
+@i<tied> to each other:
+
+!corrigendum 3.10.2(7/4)
+
+@drepl
+@xbullet<An entity or view defined by a declaration and created as part of
+its elaboration has the same accessibility
+level as the innermost master of the declaration
+except in the cases of renaming and derived access types described below.
+Other than for an explicitly aliased parameter of a function or generic function,
+a formal parameter of a callable entity has the same accessibility level as the
+master representing the invocation of the entity.>
+@dby
+@xbullet<An entity or view defined by a declaration and created as part of its
+elaboration has the same accessibility level as the innermost master of the 
+declaration except in the cases of renaming and derived access types described 
+below. A formal parameter of a callable entity has the same accessibility 
+level as the master representing the invocation of the entity.>
+
+!corrigendum 3.10.2(10.5/3)
+
+@drepl
+If the call itself defines the result of a function to which one of the above 
+rules applies, these rules are applied recursively;
+@dby
+If the call itself defines the result of a function to which one of the 
+above rules applies, or has an accessibility level that is tied to the 
+result of such a function, these rules are applied recursively;
+
+!corrigendum 3.10.2(13.4/4)
+
+@ddel
+The accessibility level of an explicitly aliased (see 6.1) formal
+parameter in a function body is determined by the point of call; it
+is the same level that the return object ultimately will have.
+
+!corrigendum 3.10.2(19.2/5)
+
+@ddel
+Inside a return statement that applies to a function or generic function @i<F>,
+or inside the return expression of an expression function @i<F>, when
+determining whether the accessibility level of an explicitly aliased
+parameter of @i<F> is statically deeper than the level of the return object of
+@i<F>, the level of the return object is considered to be the same as that of
+the level of the explicitly aliased parameter; for statically comparing
+with the level of other entities, an explicitly aliased parameter of @i<F> is
+considered to have the accessibility level of a parameter of @i<F> that is
+not explicitly aliased.
+
+!corrigendum 3.10.2(21)
+
+@dinsa
+@xbullet<For determining whether one level is statically deeper than another 
+when within the declarative region of a @fa<type_declaration>, the current 
+instance of the type is presumed to be an object created at a deeper level 
+than that of the type.>
+@dinst
+Notwithstanding other rules given above, the accessibility level of an entity 
+that is tied to that of an explicitly aliased formal parameter of an enclosing 
+function is considered (both statically and dynamically) to be the same as 
+that of an entity whose accessibility level is tied to that of the return object 
+of that function.
+
 
 !ASIS
 

Questions? Ask the ACAA Technical Agent