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

Differences between 1.2 and version 1.3
Log of other versions for file ai12s/ai12-0311-1.txt

--- ai12s/ai12-0311-1.txt	2019/02/22 05:31:43	1.2
+++ ai12s/ai12-0311-1.txt	2019/02/27 04:11:27	1.3
@@ -1,4 +1,4 @@
-!standard 11.4.2(23.5/5)                                  19-02-21  AI12-0311-1/02
+!standard 11.4.2(23.5/5)                                  19-02-26  AI12-0311-1/03
 !standard 11.5(23)
 !standard 11.5(26)
 !reference AI12-0112-1
@@ -48,21 +48,21 @@
 
 Redundant[The following checks correspond to situations in which the
 exception Assertion_Error is raised upon failure of a language-defined
-check.] For a language-defined unit U associated with one of these
+check.] For a language-defined unit @i<U> associated with one of these
 checks in the list below, the check refers to performance of checks
 associated with the Pre, Static_Predicate, and Dynamic_Predicate
-aspects associated with any entity declared in a descendant of U, or
+aspects associated with any entity declared in a descendant of @i<U>, or
 in an instance of a generic unit which is, or is declared in, a
-descendant of U. Each check is associated with one or more units:
+descendant of @i<U>. Each check is associated with one or more units:
 
    Calendar_Assertion_Check: Calendar.
    Characters_Assertion_Check: Characters, Wide_Characters,
      and Wide_Wide_Characters.
    Containers_Assertion_Check: Containers.
+   Interfaces_Assertion_Check: Interfaces.
    IO_Assertion_Check: Sequential_IO, Direct_IO, Text_IO,
-      Wide_Text_IO, Wide_Wide_Text_IO, and Storage_IO,
+      Wide_Text_IO, Wide_Wide_Text_IO, Storage_IO,
       Streams.Stream_IO, and Directories.
-   Interfaces_Assertion_Check: Interfaces.
    Numerics_Assertion_Check: Numerics.
    Strings_Assertion_Check: Strings.
    System_Assertion_Check: System.
@@ -73,7 +73,7 @@
   where the generic is declared in U really extends recursively to
   handle the case of a generic package G1 which declares another
   generic package G1.G2,  which declares another generic package
-  G1.G2.G3, etc. So if G1 is declared in some predefined unit U
+  G1.G2.G3, and so on. So if G1 is declared in some predefined unit U
   then, for purposes of defining these checks, Some_Instance_Of_G1.G2
   is also considered to be declared in U.
 
@@ -149,9 +149,8 @@
 chosen name:
 
 (1) If the subsystem name is plural, we use that plural in the name. We could 
-have used a singlar form instead, but that seems weird (especially in the
-case of Numerics). There seems to need to be a leap to mentally the name to 
-singlar.
+have used a singular form instead, but that seems weird (especially in the
+case of Numerics).
 
 (2) We use "check" rather than "checks". While "checks" would make more sense,
 all of the existing names other than "All_Checks" use "check". Many of the
@@ -159,6 +158,68 @@
 cases of the wrong plurality. Using "checks" for some of these and "check" for
 others would make it harder for users to know which to use for a particular 
 check.
+
+!corrigendum 11.4.2(23.1/3)
+
+@dinsa
+It is a bounded error to invoke a potentially blocking operation (see 9.5.1)
+during the evaluation of an assertion expression associated with a call on, or
+return from, a protected operation. If the bounded error is detected,
+Program_Error is raised. If not detected, execution proceeds normally, but if
+it is invoked within a protected action, it might result in deadlock or a
+(nested) protected action. 
+@dinst
+Any precondition expression occurring in the specification of a 
+language-defined unit is enabled (see 6.1.1) unless suppressed (see 11.5). 
+Similarly, any predicate checks for a subtype occurring in the specification 
+of a language-defined unit are enabled (see 3.2.4) unless suppressed. 
+
+!corrigendum 11.5(23)
+
+@dinsa
+@xhang<@xterm<Storage_Check>
+Check that evaluation of an @fa<allocator> does not require more space than 
+is available for a storage pool. Check that the space available for a task 
+or subprogram has not been exceeded.>
+@dinss
+@xbullet<The following checks correspond to situations in which the
+exception Assertion_Error is raised upon failure of a language-defined
+check. For a language-defined unit U associated with one of these
+checks in the list below, the check refers to performance of checks
+associated with the Pre, Static_Predicate, and Dynamic_Predicate
+aspects associated with any entity declared in a descendant of U, or
+in an instance of a generic unit which is, or is declared in, a
+descendant of U. Each check is associated with one or more units:>
+
+@xhang<@xterm<Calendar_Assertion_Check>Calendar.>
+
+@xhang<@xterm<Characters_Assertion_Check>Characters, Wide_Characters,
+and Wide_Wide_Characters.>
+
+@xhang<@xterm<Containers_Assertion_Check>Containers.>
+
+@xhang<@xterm<Interfaces_Assertion_Check>Interfaces.>
+
+@xhang<@xterm<IO_Assertion_Check>Sequential_IO, Direct_IO, Text_IO,
+Wide_Text_IO, Wide_Wide_Text_IO, Storage_IO,
+Streams.Stream_IO, and Directories.>
+
+@xhang<@xterm<Numerics_Assertion_Check>Numerics.>
+
+@xhang<@xterm<Strings_Assertion_Check>Strings.>
+
+@xhang<@xterm<System_Assertion_Check>System.>
+
+!corrigendum 11.5(26)
+
+@drepl
+If a given check has been suppressed, and the corresponding error situation
+occurs, the execution of the program is erroneous.
+@dby
+If a given check has been suppressed, and the corresponding error situation
+occurs, the execution of the program is erroneous. Similarly, if a
+precondition check has been suppressed and the evaluation of the precondition
+would have raised an exception, execution is erroneous.
 
 !ASIS
 

Questions? Ask the ACAA Technical Agent