CVS difference for ai12s/ai12-0064-2.txt

Differences between 1.21 and version 1.22
Log of other versions for file ai12s/ai12-0064-2.txt

--- ai12s/ai12-0064-2.txt	2017/12/16 04:13:46	1.21
+++ ai12s/ai12-0064-2.txt	2018/05/10 05:56:18	1.22
@@ -1,4 +1,4 @@
-!standard 9.5(17/3)                                 17-12-14    AI12-0064-2/15
+!standard 9.5(17/3)                                 18-05-07    AI12-0064-2/16
 !standard 9.5.1(8)
 !standard 9.5.1(9)
 !standard 9.5.1(10)
@@ -74,7 +74,7 @@
       other nonblocking aspects, but we don't allow anything else with a value
       not known at compile-time.
      
-   For a program unit, for a task entry, for a formal package, formal
+   For a program unit, task entry, formal package, formal
    subprogram, formal object of an anonymous access-to-subprogram type, 
    enumeration literal, and for a type (including a formal type), the
    following language-defined operational aspect is defined:
@@ -97,7 +97,7 @@
          here. The basic outline of the wording is the same as used
          for preconditions.]
 
-         [Editor's 2nd note: One difference with preconditions is the we
+         [Editor's 2nd note: One difference with preconditions is that we
          specify that the type is Boolean, not "any boolean type". We did
          this because we have defined nonblocking attributes, and having
          attributes with a different type than the aspect is weird, while
@@ -116,7 +116,7 @@
          AARM Ramification: The Nonblocking aspect cannot be specified for
          predefined operators or enumeration literals but we don't need to
          mention that above. One would have to declare a subprogram in order
-         specify the aspect, but that makes a user-defined subprogram which
+         to specify the aspect, but that makes a user-defined subprogram which
          is itself not a predefined operator or an enumeration literal.
          
        When the nonblocking expression is static for an entity,
@@ -194,9 +194,9 @@
 
          AARM Reason: Enumeration literals can be renamed as functions,
          and passed to generic formal functions, so we need to define
-         the value of the aspect so the other rules are meaningful.
+         the value of the aspect to ensure the other rules are meaningful.
 
-       For a predefined operator of an elementary type the Nonblocking 
+       For a predefined operator of an elementary type, the Nonblocking 
        aspect is the Boolean literal True. For a predefined operator of a
        composite type, the Nonblocking aspect of the operator is
        the same as the Nonblocking aspect for the type.
@@ -244,14 +244,14 @@
        inherit this aspect.
 
        Unless directly specified, for a formal type, formal package, or
-       formal subprogram, the aspect is that of the actual type, package, or
-       subprogram.
+       formal subprogram, the Nonblocking aspect is that of the actual type,
+       package, or subprogram.
 
           AARM Reason: This means that Nonblocking legality checking for the
           actual parameters of the instance is only necessary when the aspect
           is explicitly specified for the formal type.
 
-       Unless directly specified, for a derived type the Nonblocking 
+       Unless directly specified, for a derived type, the Nonblocking 
        aspect is that of the parent type.
 
           AARM Discussion: The expressions that can be specified for a derived
@@ -264,9 +264,9 @@
           [Editor's note: Formal objects are here since objects don't have
           the aspect in general, only in this specific case.]
 
-       If not specified for a library unit, the nonblocking expression
-       is the Boolean literal True if the library unit is declared pure and is
-       not a generic unit, and the Boolean literal False otherwise.
+       If not specified for a library unit, the nonblocking expression is
+       the Boolean literal True if the library unit is declared pure and is
+       not a generic unit, or the Boolean literal False otherwise.
 
       [Editor's note: Legality Rules follow all of these other Static Semantics
       definitions.]
@@ -378,7 +378,7 @@
       AARM Ramification: Implicit calls for finalization, storage pools, and
       the like are covered by the above prohibition. The rules above say
       "a call", not "an explicit call". Such calls are considered statically
-      bound when that is possible, that is when the controlling object has
+      bound when that is possible; that is, when the controlling object has
       a known specific type (even if the actual implementation uses dispatching).
 
       AARM Discussion: We don't need to specially worry about subprograms of
@@ -922,7 +922,7 @@
 The aspect is described as being a boolean valued expression, but our intent
 is that it act like a boolean-valued aspect outside of any generic unit.
 Thus it is required to be static in such contexts, the expression can be
-omitted when it is specified (in which case is represents the expression of
+omitted when it is specified (in which case it represents the expression of
 the boolean literal True), it can only be changed to True for derived types,
 and so on. We repeat these rules even when the 13.1.1 blanket rules can be
 read to apply, as that might be surprising to a reader.
@@ -1388,7 +1388,7 @@
 
 @xbullet<a parenthesized nonblocking-static @fa<expression>.>
 
-For a program unit, for a task entry, for a formal package, formal
+For a program unit, a task entry, formal package, formal
 subprogram, formal object of an anonymous access-to-subprogram type, 
 enumeration literal, and for a type (including a formal type), the
 following language-defined operational aspect is defined:
@@ -1429,7 +1429,7 @@
 @xindent<For an enumeration literal, the Nonblocking aspect is the Boolean
 literal True.>
 
-@xindent<For a predefined operator of an elementary type the Nonblocking 
+@xindent<For a predefined operator of an elementary type, the Nonblocking 
 aspect is the Boolean literal True. For a predefined operator of a
 composite type, the Nonblocking aspect of the operator is
 the same as the Nonblocking aspect for the type.>
@@ -1450,10 +1450,10 @@
 inherit this aspect.>
 
 @xindent<Unless directly specified, for a formal type, formal package, or
-formal subprogram, the aspect is that of the actual type, package, or
-subprogram.>
+formal subprogram, the Nobnblocking aspect is that of the actual type,
+package, or subprogram.>
 
-@xindent<Unless directly specified, for a derived type the Nonblocking 
+@xindent<Unless directly specified, for a derived type, the Nonblocking 
 aspect is that of the parent type.>
 
 @xindent<Unless directly specified, for any other program unit, type, or formal
@@ -1462,7 +1462,7 @@
 
 @xindent<If not specified for a library unit, the nonblocking expression
 is the Boolean literal True if the library unit is declared pure and is
-not a generic unit, and the Boolean literal False otherwise.>
+not a generic unit, or the Boolean literal False otherwise.>
 
 For a @fa<prefix> S that denotes a subprogram (including a formal subprogram):
 

Questions? Ask the ACAA Technical Agent