CVS difference for arm/source/09.mss

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

--- arm/source/09.mss	2014/11/15 05:22:28	1.122
+++ arm/source/09.mss	2015/01/30 05:22:23	1.123
@@ -1,10 +1,10 @@
 @Part(09, Root="ada.mss")
 
-@Comment{$Date: 2014/11/15 05:22:28 $}
+@Comment{$Date: 2015/01/30 05:22:23 $}
 @LabeledSection{Tasks and Synchronization}
 
 @Comment{$Source: e:\\cvsroot/ARM/Source/09.mss,v $}
-@Comment{$Revision: 1.122 $}
+@Comment{$Revision: 1.123 $}
 
 @begin{Intro}
 
@@ -1060,10 +1060,13 @@
   @key{end} [@SynI{protected_}@Syn2{identifier}];"}
 
 @ChgRef{Version=[1],Kind=[Revised],Ref=[8652/0009],ARef=[AI95-00137-01]}
+@ChgRef{Version=[4],Kind=[Revised],ARef=[AI12-0147-1]}
 @Syn{lhs=<protected_operation_item>,
   rhs="@Syn2{subprogram_declaration}
      | @Syn2{subprogram_body}
-     | @Syn2{entry_body}
+     | @Chg{New=[@Syn2{null_procedure_declaration}
+     | @Syn2{expression_function_declaration}
+     | ],Old=[]}@Syn2{entry_body}
      | @Chg{New=[@Syn2{aspect_clause}],Old=[@Syn2{representation_clause}]}"}
 
 @begin{SyntaxText}
@@ -1650,7 +1653,16 @@
   defining name in the no conflicting primitive operation rule.]}
 @end{DiffWord2005}
 
+@begin{Extend2012}
+  @ChgRef{Version=[4],Kind=[AddedNormal],ARef=[AI12-0147-1]}
+  @ChgAdded{Version=[4],Text=[@Defn{extensions to Ada 2012}
+  @b<Corrigendum:> Null procedures and expression functions are allowed
+  in protected bodies. We consider this an omission, as there is no
+  reason why the convinient shorthand notations should not be allowed
+  in this context.]}
+@end{Extend2012}
 
+
 @LabeledClause{Intertask Communication}
 
 @begin{Intro}
@@ -5817,7 +5829,7 @@
 @ChgAdded{Version=[2],Text=[   @key(procedure) Append(Person : @key(in) Person_Name) @key(is)
    @key(begin)
       @key(if) Count = Pool'Length @key(then)
-         @key(raise) Queue_Error @key(with) "Buffer Full";  --@RI[ see @RefSecNum{Raise Statements}]
+         @key(raise) Queue_Error @key(with) "Buffer Full";  --@RI[ see @RefSecNum{Raise Statements and Raise Expressions}]
       @key(end if);
       Pool(In_Index) := Person;
       In_Index       := (In_Index @key(mod) Pool'Length) + 1;
@@ -5838,7 +5850,7 @@
 @ChgAdded{Version=[2],Text=[   @key(procedure) Remove_First(Person : @key(out) Person_Name) @key(is)
    @key(begin)
       @key(if) Count = 0 @key(then)
-         @key(raise) Queue_Error @key(with) "Buffer Empty"; --@RI[ see @RefSecNum{Raise Statements}]
+         @key(raise) Queue_Error @key(with) "Buffer Empty"; --@RI[ see @RefSecNum{Raise Statements and Raise Expressions}]
       @key(end if);
       Person    := Pool(Out_Index);
       Out_Index := (Out_Index @key(mod) Pool'Length) + 1;

Questions? Ask the ACAA Technical Agent