CVS difference for ais/ai-00394.txt

Differences between 1.2 and version 1.3
Log of other versions for file ais/ai-00394.txt

--- ais/ai-00394.txt	2005/03/01 22:12:32	1.2
+++ ais/ai-00394.txt	2005/04/13 05:37:20	1.3
@@ -1,4 +1,4 @@
-!standard D.07(09)                                    05-02-16  AI95-00394/02
+!standard D.07(09)                                    05-03-01  AI95-00394/03
 !standard D.07(10)
 !standard D.07(15)
 !standard D.13.1(01)
@@ -58,7 +58,7 @@
 
 !wording
 
-Delete D.7(9), (the original) D.7(10), H.4(9), and H.4(16).
+Delete (the original) D.7(10), H.4(9), and H.4(16).
 
 Delete No_Calendar and No_Task_Attributes_Package from the wording changes of
 AI-305.
@@ -80,9 +80,6 @@
 No_Asynchronous_Control
    There are no semantic dependences on package Asynchronous_Task_Control.
 
-No_Dynamic_Priorities
-   There are no semantic dependences on package Dynamic_Priorities.
-
 No_Unchecked_Conversion
    Semantic dependence on the predefined generic Unchecked_Conversion is
    not allowed.
@@ -101,7 +98,7 @@
 Add the following new static restriction_identifier after D.7(10):
 
 No_Specific_Termination_Handlers
-	There are no calls to the following subprograms in Ada.Task_Termination:
+	There are no calls to the following subprograms in Task_Termination:
 	Set_Specific_Handler and Specific_Handler.
 
 
@@ -131,6 +128,7 @@
 pragma Restrictions (
                 No_Abort_Statements,
                 No_Dynamic_Attachment,
+                No_Dynamic_Priorities,
                 No_Implicit_Heap_Allocations,
                 No_Local_Protected_Objects,
                 No_Local_Timing_Events,
@@ -148,7 +146,6 @@
                 Max_Task_Entries => 0,
                 No_Dependence => Ada.Asynchronous_Task_Control,
                 No_Dependence => Ada.Calendar,
-                No_Dependence => Ada.Dynamic_Priorities,
                 No_Dependence => Ada.Execution_Time.Group_Budget,
                 No_Dependence => Ada.Execution_Time.Timers,
                 No_Dependence => Ada.Task_Attributes);
@@ -159,16 +156,14 @@
 The identifier No_IO covers a set of library packages
 and thus was not moved to Annex J.
 
+The identifier No_Dynamic_Priorities was extended by AI-327 to cover uses
+of the Priority attribute for protected objects as well as dependencies on
+Ada.Dynamic_Priorities. Thus it was not moved to Annex J.
+
 The minimum requirement for task termination when No_Task_Termination is in
 force is to ensure that any fall-back handler is executed at least once. Given
 that no tasks are meant to terminate this would seem to be sufficient.
 
-!corrigendum D.7(09)
-
-@ddel
-@xhang<@xterm<No_Dynamic_Priorities>
-There are no semantic dependences on the package Dynamic_Priorities.>
-
 !corrigendum D.7(10)
 !comment The AI-305 changes are made in the conflict text only.
 @drepl
@@ -177,13 +172,15 @@
 @dby
 @xhang<@xterm<No_Specific_Termination_Handlers>
 There are no calls to the Set_Specific_Handler and Specific_Handler subprograms
-in Ada.Task_Termination.
+in Task_Termination.
 
 !corrigendum D.7(15)
 
 @drepl
 @i<This paragraph was deleted>
 @dby
+The following @I<restriction_>@fa<identifier>s are language defined:
+
 @xhang<@xterm<No_Task_Termination>
 All tasks are non-terminating. It is implementation-defined what
 happens if a task attempts to terminate. If there is a fall-back
@@ -213,6 +210,7 @@
 @b<pragma> Restrictions (
                 No_Abort_Statements,
                 No_Dynamic_Attachment,
+                No_Dynamic_Priorities,
                 No_Implicit_Heap_Allocations,
                 No_Local_Protected_Objects,
                 No_Local_Timing_Events,
@@ -230,7 +228,6 @@
                 Max_Task_Entries =@> 0,
                 No_Dependence =@> Ada.Asynchronous_Task_Control,
                 No_Dependence =@> Ada.Calendar,
-                No_Dependence =@> Ada.Dynamic_Priorities,
                 No_Dependence =@> Ada.Execution_Time.Group_Budget,
                 No_Dependence =@> Ada.Execution_Time.Timers,
                 No_Dependence =@> Ada.Task_Attributes);>
@@ -284,9 +281,6 @@
 @xhang<@xterm<No_Asynchronous_Control>
 There are no semantic dependences on package Asynchronous_Task_Control.>
 
-@xhang<@xterm<No_Dynamic_Priorities>
-There are no semantic dependences on package Dynamic_Priorities.>
-
 @xhang<@xterm<No_Unchecked_Conversion>
 Semantic dependence on the predefined generic Unchecked_Conversion is
 ot allowed.>
@@ -608,6 +602,82 @@
 What you are saying is that No_IO is more a *profile* than a single
 restriction. If a profile can include another profile, that would do the
 trick.
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Monday, February 28, 2005  8:45 PM
+
+The recently approved AI-394 banishes several restrictions to Annex J in
+favor of using the new No_Dependence restriction.
+
+One of the restrictions so banished is No_Dynamic_Priorities:
+
+No_Dynamic_Priorities
+There are no semantic dependences on the package Dynamic_Priorities.
+
+However, AI-327 extended this restriction to:
+
+No_Dynamic_Priorities
+There are no semantic dependences on the package Dynamic_Priorities, and
+no occurrences of the attribute Priority.
+
+This covers the dynamic changing of ceiling priorities for protected
+objects. It seems to me that this still needs to be disallowed by profile
+Ravenscar, so it seems that someone fell asleep at the switch.
+
+I think that we need to put this back the way it was in AI-327, and leave
+this restriction in the Ravenscar profile, rather than use No_Dependence. Is
+this right??
+
+****************************************************************
+
+From: Robert Dewar
+Sent: Tuesday, March  1, 2005 12:00 AM
+
+Yes, that's indeed right
+
+****************************************************************
+
+From: Alan Burns
+Sent: Tuesday, March  1, 2005  2:33 AM
+
+...
+> This covers the dynamic changing of ceiling priorities for protected
+> objects. It seems to me that this still needs to be disallowed by profile
+> Ravenscar, so it seems that someone fell asleep at the switch.
+
+Well that would be me - yes totally missed this interaction
+Obviously i would have noticed it later ...
+
+> I think that we need to put this back the way it was in AI-327, and leave
+> this restriction in the Ravenscar profile, rather than use No_Dependence.
+> Is this right??
+
+YES
+
+****************************************************************
+
+From: Pascal Leroy
+Sent: Tuesday, March  1, 2005  3:31 AM
+
+> I think that we need to put this back the way it was in
+> AI-327, and leave this restriction in the Ravenscar profile,
+> rather than use No_Dependence. Is this right??
+
+Yes.
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Tuesday, March  1, 2005  4:22 PM
+
+> Well that would be me - yes totally missed this interaction
+> Obviously i would have noticed it later ...
+
+Don't feel bad, I only noticed it because the tool that makes the Amendment
+document produced an error message. I'll process this as a correction to
+AI-394.
 
 ****************************************************************
 

Questions? Ask the ACAA Technical Agent