CVS difference for arm/source/rt.mss

Differences between 1.121 and version 1.122
Log of other versions for file arm/source/rt.mss

--- arm/source/rt.mss	2016/04/23 04:41:14	1.121
+++ arm/source/rt.mss	2016/11/24 02:33:53	1.122
@@ -1,7 +1,7 @@
 @Comment{ $Source: e:\\cvsroot/ARM/Source/rt.mss,v $ }
-@comment{ $Revision: 1.121 $ $Date: 2016/04/23 04:41:14 $ $Author: randy $ }
+@comment{ $Revision: 1.122 $ $Date: 2016/11/24 02:33:53 $ $Author: randy $ }
 @Part(realtime, Root="ada.mss")
-@Comment{$Date: 2016/04/23 04:41:14 $}
+@Comment{$Date: 2016/11/24 02:33:53 $}
 
 @LabeledNormativeAnnex{Real-Time Systems}
 
@@ -2608,6 +2608,81 @@
 
 @end{ImplAdvice}
 
+@begin{StaticSem}
+
+@ChgRef{Version=[5],Kind=[AddedNormal],ARef=[AI12-0206-1]}
+@ChgAdded{Version=[5],Type=[Leading],Text=[For a task type (including the
+anonymous type of a @nt{single_task_declaration}), protected type (including the
+anonymous type of a @nt{single_protected_declaration}), or an
+@nt{entry_declaration}, the following language-defined representation aspect may
+be specified:]}
+
+@begin{Description}
+@ChgRef{Version=[5],Kind=[AddedNormal]}
+@ChgAdded{Version=[5],Text=[Max_Entry_Queue_Length@\The type of
+aspect Max_Entry_Queue_Length is Integer.@AspectDefn{Max_Entry_Queue_Length}]}
+
+  @ChgAspectDesc{Version=[5],Kind=[AddedNormal],Aspect=[Max_Entry_Queue_Length],
+    Text=[@ChgAdded{Version=[5],Text=[The maximum entry queue length for a
+      task type, protected type, or entry.]}]}
+
+
+@ChgRef{Version=[5],Kind=[AddedNormal]}
+@ChgAdded{Version=[5],Text=[If directly specified, the aspect_definition shall
+be a static expression no less than -1. If not specified, the aspect has value
+-1 (representing no additional restriction on queue length).]}
+@end{Description}
+
+@end{StaticSem}
+
+@begin{Legality}
+
+@ChgRef{Version=[5],Kind=[AddedNormal],ARef=[AI12-0206-1]}
+@ChgAdded{Version=[5],Text=[If the Max_Entry_Queue_Length aspect for a type has
+a nonnegative value, the Max_Entry_Queue_Length aspect for every individual
+entry of that type shall not be greater than the value of the aspect for the
+type. The Max_Entry_Queue_Length aspect of a type is nonoverridable.]}
+
+  @begin{Ramification}
+    @ChgRef{Version=[5],Kind=[AddedNormal]}
+    @ChgAdded{Version=[5],Text=[Aspect Max_Entry_Queue_Length
+    can specify less than the partition-wide or type-wide default, but it can't
+    expand the length of a queue.]}
+  @end{Ramification}
+@end{Legality}
+
+@begin{Linktime}
+@ChgRef{Version=[5],Kind=[AddedNormal],ARef=[AI12-0206-1]}
+@ChgAdded{Version=[5],Text=[If a restriction Max_Entry_Queue_Length applies to a
+partition, any value specified for the Max_Entry_Queue_Length aspect specified
+for the declaration of a type or entry in the partition shall not be greater
+than the value of the restriction.]}
+
+  @begin{Ramification}
+    @ChgRef{Version=[5],Kind=[AddedNormal]}
+    @ChgAdded{Version=[5],Text=[13.12(6) says that the restriction value has to
+    be static, so this is statically checkable. But the restriction does not
+    have to be in the same compilation as the aspect, so the check cannot, in
+    general, be done until link time.]}
+  @end{Ramification}
+@end{Linktime}
+
+@begin{Runtime}
+@ChgRef{Version=[5],Kind=[AddedNormal],ARef=[AI12-0206-1]}
+@ChgAdded{Version=[5],Text=[If a nonconfirming value is specified for
+Max_Entry_Queue_Length for a type, and an entry call or requeue would cause the
+queue for any entry of the type to become longer than the specified value, then
+Program_Error is raised at the point of the call or
+requeue.@Defn2{Term=[Program_Error],Sec=(raised by failure of run-time check)}]}
+
+@ChgRef{Version=[5],Kind=[AddedNormal],ARef=[AI12-0206-1]}
+@ChgAdded{Version=[5],Text=[If a nonconfirming value is specified for
+Max_Entry_Queue_Length for an entry,
+and an entry call or requeue would cause the queue for an entry to become longer
+than the specified value, then Program_Error is raised at the point of the call
+or requeue.@Defn2{Term=[Program_Error],Sec=(raised by failure of run-time check)}]}
+@end{Runtime}
+
 @begin{DiffWord95}
   @ChgRef{Version=[2],Kind=[AddedNormal],Ref=[8652/0074],ARef=[AI95-00068-01]}
   @ChgAdded{Version=[2],Text=[@b<Corrigendum:> Corrected the number of
@@ -2638,6 +2713,9 @@
   @ChgRef{Version=[5],Kind=[AddedNormal],ARef=[AI12-0163-1]}
   @ChgAdded{Version=[5],Text=[@Defn{extensions to Ada 2012}
   Defined the new queuing policy Ordered_FIFO_Queuing.]}
+
+  @ChgRef{Version=[5],Kind=[AddedNormal],ARef=[AI12-0206-1]}
+  @ChgAdded{Version=[5],Text=[Defined the new aspect Max_Enty_Queue_Length.]}
 @end{Extend2012}
 
 
@@ -4346,6 +4424,15 @@
 operation.]}
 @end{RunTime}
 
+@begin{Bounded}
+@ChgRef{Version=[5],Kind=[Added],ARef=[AI12-0171-1]}
+@ChgAdded{Version=[5],Text=[It is a bounded error for two or more tasks to call
+Suspend_Until_True on the same Suspension_Object concurrently. For each task,
+Program_Error might be raised, the task might proceed without suspending, or the
+task might suspend, potentially indefinitely. The state of the suspension object
+might end up either True or False.]}
+@end{Bounded}
+
 @begin{ImplReq}
 
 The implementation is required to allow the calling of Set_False and
@@ -4373,6 +4460,13 @@
   @ChgAdded{Version=[3],Text=[@Defn{extensions to Ada 2005}Child
   package Ada.Synchronous_Task_Control.EDF is new.]}
 @end{Extend2005}
+
+@begin{Diffword2012}
+  @ChgRef{Version=[5],Kind=[AddedNormal],ARef=[AI12-0171-1]}
+  @ChgAdded{Version=[5],Text=[@b<Correction:> Clarified that Suspend_Until_True
+  should only be called from a single task, and what happens if that is
+  violated.]}
+@end{Diffword2012}
 
 
 @LabeledAddedSubClause{Version=[3],Name=[Synchronous Barriers]}

Questions? Ask the ACAA Technical Agent