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

Differences between 1.12 and version 1.13
Log of other versions for file ai12s/ai12-0112-1.txt

--- ai12s/ai12-0112-1.txt	2019/01/18 06:26:47	1.12
+++ ai12s/ai12-0112-1.txt	2019/02/07 06:31:29	1.13
@@ -1,4 +1,5 @@
-!standard A.18.2(99/3)                                18-01-03    AI12-0112-1/06
+!standard A.18.2(99/3)                                19-01-21    AI12-0112-1/07
+!standard 11.4.2(23.1/3)
 !standard 11.5(23)
 !standard 11.5(26)
 !standard A(4)
@@ -1584,6 +1585,19 @@
 
 -----------------------------------------
 
+Added after 11.4.2(23.5/5):
+
+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. 
+
+AARM Reason: This allows the Standard to express runtime requirements on the 
+client of a language-defined unit as preconditions or predicates (which are 
+invariably clearer than English prose would be). Some such requirements can be 
+Suppressed. Previous versions of Ada did not provide a mechanism to suppress 
+such code.
+
 Add after 11.5(23):
 
 Redundant[The following check corresponds to situations in which the exception
@@ -1657,6 +1671,14 @@
 implementation can use those postconditions for optimization.
 End AARM Ramification.
 
+Add after A.18(11/5):
+
+If an instance of an Ada.Containers generic package is nonblocking, then the 
+specific type of the object returned from a function that returns an object 
+of an iterator interface, as well as the primitive operations of that specific 
+type, shall be nonblocking.
+
+
 !discussion
 
 For this version, we've prototyped the changes needed for a single
@@ -1737,6 +1759,22 @@
 arbitrary completions. That may or may not be true of existing implementations;
 hopefully the new aspect will trigger implementers to inspect their 
 implementations for issues.
+
+!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)
 

Questions? Ask the ACAA Technical Agent