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

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

--- ai12s/ai12-0073-1.txt	2013/06/11 01:01:49	1.2
+++ ai12s/ai12-0073-1.txt	2013/07/06 04:34:16	1.3
@@ -1,5 +1,7 @@
-!standard A.18.10(157/3)                              13-06-08    AI12-0073-1/01
+!standard A.18.10(157/3)                              13-07-05    AI12-0073-1/02
 !class binding interpretation 13-06-08
+!status Amendment 202x 13-07-05
+!status ARG Approved 9-0-0  13-06-14
 !status work item 13-06-08
 !status received 13-05-03
 !priority Low
@@ -31,7 +33,7 @@
 !wording
 
 In D.13(6/3), add "No_Dependence => Ada.Synchronous_Barriers," to the list
-of restrictions after "No_Depenence => Ada.Execution_Time.Timers,".
+of restrictions after "No_Dependence => Ada.Execution_Time.Timers,".
 
 !discussion
 
@@ -62,21 +64,67 @@
 adopt some other solution should it prove necessary. Other options do not
 provide this flexiblity.
 
-Other options were considered:
+!corrigendum D.13(6/3)
 
-* Doing nothing, which would leave a significant portability problem in
-  Ravenscar. Barriers would work on some implementations and not on others. This
-  is precisely the sort of problem that Ada in general and the Ravenscar profile
-  specifically is supposed prevent, so this option was rejected.
-
-* Mandating that implementations *not* use protected types to implement
-  barriers. However, this would require a substantial change in Ada runtimes
-  that do not have target support for barriers - a simple implementation would
-  not be allowed (even when the Ravenscar profile is not in used).
-
-* Restrict barriers to a single task if declared at library-level with a new
-  restriction for Ravenscar programs. This would eliminate the portability
-  problem, but at the cost of most of the value of the feature.
+@drepl
+@xcode<@b<pragma> Task_Dispatching_Policy (FIFO_Within_Priorities);
+@b<pragma> Locking_Policy (Ceiling_Locking);
+@b<pragma> Detect_Blocking;
+@b<pragma> Restrictions (
+                No_Abort_Statements,
+                No_Dynamic_Attachment,
+                No_Dynamic_Priorities,
+                No_Implicit_Heap_Allocations,
+                No_Local_Protected_Objects,
+                No_Local_Timing_Events,
+                No_Protected_Type_Allocators,
+                No_Relative_Delay,
+                No_Requeue_Statements,
+                No_Select_Statements,
+                No_Specific_Termination_Handlers,
+                No_Task_Allocators,
+                No_Task_Hierarchy,
+                No_Task_Termination,
+                Simple_Barriers,
+                Max_Entry_Queue_Length =@> 1,
+                Max_Protected_Entries =@> 1,
+                Max_Task_Entries =@> 0,
+                No_Dependence =@> Ada.Asynchronous_Task_Control,
+                No_Dependence =@> Ada.Calendar,
+                No_Dependence =@> Ada.Execution_Time.Group_Budgets,
+                No_Dependence =@> Ada.Execution_Time.Timers,
+                No_Dependence =@> Ada.Task_Attributes,
+                No_Dependence =@> System.Multiprocessors.Dispatching_Domains);>
+@dby
+@xcode<@b<pragma> Task_Dispatching_Policy (FIFO_Within_Priorities);
+@b<pragma> Locking_Policy (Ceiling_Locking);
+@b<pragma> Detect_Blocking;
+@b<pragma> Restrictions (
+                No_Abort_Statements,
+                No_Dynamic_Attachment,
+                No_Dynamic_Priorities,
+                No_Implicit_Heap_Allocations,
+                No_Local_Protected_Objects,
+                No_Local_Timing_Events,
+                No_Protected_Type_Allocators,
+                No_Relative_Delay,
+                No_Requeue_Statements,
+                No_Select_Statements,
+                No_Specific_Termination_Handlers,
+                No_Task_Allocators,
+                No_Task_Hierarchy,
+                No_Task_Termination,
+                Simple_Barriers,
+                Max_Entry_Queue_Length =@> 1,
+                Max_Protected_Entries =@> 1,
+                Max_Task_Entries =@> 0,
+                No_Dependence =@> Ada.Asynchronous_Task_Control,
+                No_Dependence =@> Ada.Calendar,
+                No_Dependence =@> Ada.Execution_Time.Group_Budgets,
+                No_Dependence =@> Ada.Execution_Time.Timers,
+                No_Dependence =@> Ada.Synchronous_Barriers,
+                No_Dependence =@> Ada.Task_Attributes,
+                No_Dependence =@> System.Multiprocessors.Dispatching_Domains);>
 
 !ACATS Test
 

Questions? Ask the ACAA Technical Agent