CVS difference for ais/ai-00327.txt

Differences between 1.17 and version 1.18
Log of other versions for file ais/ai-00327.txt

--- ais/ai-00327.txt	2005/12/15 02:44:06	1.17
+++ ais/ai-00327.txt	2006/02/21 04:21:48	1.18
@@ -1,4 +1,4 @@
-!standard D.03 (13)                                    05-12-02  AI95-00327/11
+!standard D.03 (13)                                    06-02-08  AI95-00327/13
 !standard D.03 (06)
 !standard D.03 (08)
 !standard D.03 (09)
@@ -170,8 +170,8 @@
 
 Dynamic Semantics
 
-If the locking policy Ceiling_Locking is in effect then the ceiling priority
-of a protected object P is set to the value of P'Priority at the end
+If the locking policy Ceiling_Locking (see D.3) is in effect then the ceiling
+priority of a protected object P is set to the value of P'Priority at the end
 of each protected action of P.
 
 Metrics
@@ -183,8 +183,6 @@
   protected P is
     procedure Do_Not_Set_Ceiling (Pr : System.Any_Priority);
     procedure Set_Ceiling (Pr : System.Any_Priority);
-  private
-    null;
   end P;
 
   protected body P is
@@ -599,8 +597,8 @@
 
 @i<@s8<Dynamic Semantics>>
 
-If the locking policy Ceiling_Locking is in effect then the ceiling priority
-of a protected object P is set to the value of P'Priority at the end
+If the locking policy Ceiling_Locking (see D.3) is in effect then the ceiling
+priority of a protected object P is set to the value of P'Priority at the end
 of each protected action of P.
 
 @i<@s8<Metrics>>
@@ -613,8 +611,6 @@
 @xcode<   @b<protected> P @b<is>
       @b<procedure> Do_Not_Set_Ceiling (Pr : System.Any_Priority);
       @b<procedure> Set_Ceiling (Pr : System.Any_Priority);
-   @b<private>
-      @b<null>;
    @b<end> P;
 
    @b<protected body> P @b<is>
@@ -783,5 +779,43 @@
 Sent: Monday, December 1, 2003  8:09 AM
 
 Isn't "constant" the right word here?
+
+*****************************************************************
+
+!topic Illegal example in  D.5.2
+!reference RM06-D.5.2(8/2)
+!from Sergey Rybin 2006-02-07
+!keywords protected_definition, example, syntax error
+!discussion
+
+The example given in RM06-D.5.2(8/2) is illegal:
+
+protected P is
+    procedure Do_Not_Set_Ceiling (Pr : System.Any_Priority);
+    procedure Set_Ceiling (Pr : System.Any_Priority);
+private
+    null;
+end P;
+
+According to the definition of the syntax of protected_definition
+(RM06-9.4(4)) 'null;' can not be used here, it looks like
+here we have a confusion between the syntax of protected_definition
+and record_definition (3.8 (3-4)), the former does not allow to use
+'null;' to indicate the empty component list, and the latter one allows
+to do this
+
+*****************************************************************
+
+From: Randy Brukardt
+Sent: Wednesday, February  8, 2006  9:09 PM
+
+Yup.
+
+Looks like the best fix is to drop the private part completely, leaving:
+
+protected P is
+    procedure Do_Not_Set_Ceiling (Pr : System.Any_Priority);
+    procedure Set_Ceiling (Pr : System.Any_Priority);
+end P;
 
 *****************************************************************

Questions? Ask the ACAA Technical Agent