CVS difference for ai05s/ai05-0092-1.txt

Differences between 1.7 and version 1.8
Log of other versions for file ai05s/ai05-0092-1.txt

--- ai05s/ai05-0092-1.txt	2009/07/11 03:06:22	1.7
+++ ai05s/ai05-0092-1.txt	2009/10/23 06:06:31	1.8
@@ -1,4 +1,4 @@
-!standard  3.3.1(20.4/2)                                09-07-06  AI05-0092-1/06
+!standard  3.3.1(20.4/2)                                09-10-22  AI05-0092-1/07
 !standard  3.9(25.1/2)
 !standard  6.3.1(21.1/2)
 !standard  9.6(22)
@@ -14,6 +14,7 @@
 !standard A.18.13(2/2)
 !standard A.18.14(2/2)
 !standard A.18.15(2/2)
+!standard D.5.1(18)
 !standard G.2.2(11)
 !class presentation 08-03-05
 !status work item 06-03-05
@@ -54,6 +55,8 @@
 12) The existing indefinite container forms have differences in contents and in
 semantics.
 
+13) Correct the note D.5.1(18).
+
 !question
 
 1) Generally, "must" shall not be used in normative rules of the standard. However,
@@ -89,6 +92,9 @@
 of package Indefinite_Vectors differs from the contents of package Vectors, but the
 semantics is changed in various ways as well. Should the wording reflect this? (Yes.)
 
+13) The Note D.5.1(18) talks about when Tasking_Error is raised by Set_Priority. But
+Tasking_Error is never raised by Set_Priority, so this note is confusing.
+
 [Other questions here.]
 
 !recommendation
@@ -124,6 +130,14 @@
 12) Add "and semantics" after "contents" in A.18.10(2/2), A.18.11(2/2), A.18.12(2/2),
 A.18.13(2/2), A.18.14(2/2), and A.18.15(2/2).
 
+13) Modify the Note D.5.1(18):
+
+32  The rule for when Tasking_Error is raised for Set_Priority or Get_Priority is
+different from the rule for when Tasking_Error is raised on an entry call (see 9.5.3).
+In particular, [setting or ]querying the priority of a completed or an abnormal task is
+allowed, so long as the task is not yet terminated{, and setting the priority of a task
+is allowed for any task state (including for terminated tasks)}.
+
 !discussion
 
 1) 3.3.1(20.4/2) uses "must precede", while 3.3.1(20.1-3/2) use "is preceded by".
@@ -167,6 +181,8 @@
 forms. For instance, A.18.10(8/2) is not referring to the contents of the package.
 It is best if the wording reflects that.
 
+13) The note is technically correct, but it is misleading. The rewrite makes it
+clearer that Set_Priority is always allowed.
 
 !corrigendum 3.3.1(20.4/2)
 
@@ -392,6 +408,20 @@
 The declaration of the generic library package Containers.Indefinite_Ordered_Sets has
 the same contents and semantics as Containers.Ordereds except:
 
+!corrigendum D.5.1(18)
+
+@drepl
+@xindent<@s9<32  The rule for when Tasking_Error is raised for Set_Priority or Get_Priority is
+different from the rule for when Tasking_Error is raised on an entry call (see 9.5.3).
+In particular, setting or querying the priority of a completed or an abnormal task is
+allowed, so long as the task is not yet terminated.>>
+@dby
+@xindent<@s9<32  The rule for when Tasking_Error is raised for Set_Priority or Get_Priority is
+different from the rule for when Tasking_Error is raised on an entry call (see 9.5.3).
+In particular, querying the priority of a completed or an abnormal task is
+allowed, so long as the task is not yet terminated, and setting the priority of a task
+is allowed for any task state (including for terminated tasks).>>
+
 !corrigendum G.2.2(11)
 
 @drepl
@@ -767,5 +797,18 @@
 
 The last sentence was intended to cover all of the *existing* indefinite forms as well
 as the new ones.
+
+****************************************************************
+
+From: Bob Duff
+Sent: Wednesday, August 19, 2009  3:34 PM
+
+The NOTE at D.5.1(18) is misleading.  Seems to imply that Set_Priority might raise
+Tasking_Error for a terminated task.  But D.5.1(7) says it's ignored.
+
+Found by a customer of AdaCore, by the way.  GNAT seems to incorrectly raise T_E.
+Probably a "maintenance error".  I guess some earlier version of the RM required T_E,
+but wiser heads prevailed, but forgot to update the NOTE.  And this part of the
+GNAT runtimes was probably written according to the earlier spec.
 
 ****************************************************************

Questions? Ask the ACAA Technical Agent