CVS difference for arm/source/09.mss

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

--- arm/source/09.mss	2005/07/12 05:01:17	1.60
+++ arm/source/09.mss	2005/07/27 00:06:23	1.61
@@ -1,10 +1,10 @@
 @Part(09, Root="ada.mss")
 
-@Comment{$Date: 2005/07/12 05:01:17 $}
+@Comment{$Date: 2005/07/27 00:06:23 $}
 @LabeledSection{Tasks and Synchronization}
 
 @Comment{$Source: e:\\cvsroot/ARM/Source/09.mss,v $}
-@Comment{$Revision: 1.60 $}
+@Comment{$Revision: 1.61 $}
 
 @begin{Intro}
 
@@ -380,9 +380,11 @@
 @begin{Notes}
 
 @ChgRef{Version=[2],Kind=[Revised],ARef=[AI95-00382-01]}
-Within the declaration or body of a task unit@Chg{Version=[2],New=[ other than
-in an @nt{access_definition}],Old=[]}, the name of
-the task unit denotes the current instance of the unit
+@Chg{Version=[2],New=[Other than
+in an @nt{access_definition}, the name of a task unit within],Old=[Within]}
+the declaration or body of @Chg{Version=[2],New=[the],Old=[a]} task
+unit@Chg{Version=[2],New=[],Old=[, the name of
+the task unit]} denotes the current instance of the unit
 (see @RefSecNum(The Context of Overload Resolution)),
 rather than the first subtype of the corresponding task type (and
 thus the name cannot be used as a @nt<subtype_mark>).
@@ -3720,7 +3722,7 @@
 @ChgRef{Version=[2],Kind=[AddedNormal],ARef=[AI95-00351-01],ARef=[AI95-00427-01]}
 @ChgAdded{Version=[2],Type=[Trailing],Text=[Splits Seconds into Hour, Minute,
 Second and Sub_Second in such a way that the resulting values all belong to
-their respective subtypes. The value returned through the Sub_Second
+their respective subtypes. The value returned in the Sub_Second
 parameter is always less than 1.0.]}
 
 @begin{Ramification}
@@ -3741,10 +3743,10 @@
                  Time_Zone  : @key<in> Time_Zones.Time_Offset := 0);]}
 @end{Example}
 @ChgRef{Version=[2],Kind=[AddedNormal],ARef=[AI95-00351-01],ARef=[AI95-00427-01]}
-@ChgAdded{Version=[2],Type=[Trailing],Text=[Splits Date into its constituent parts (Year,
-Month, Day, Hour, Minute,
+@ChgAdded{Version=[2],Type=[Trailing],Text=[Splits Date into its constituent
+parts (Year, Month, Day, Hour, Minute,
 Second, Sub_Second), relative to the specified time zone offset. The value
-returned through the Sub_Second parameter is always less than 1.0.]}
+returned in the Sub_Second parameter is always less than 1.0.]}
 
 @begin{Example}@ChgRef{Version=[2],Kind=[AddedNormal]}
 @ChgAdded{Version=[2],Keepnext=[T],Text=[@key<function> Time_Of (Year       : Year_Number;
@@ -3759,19 +3761,23 @@
                           @key<return> Time;]}
 @end{Example}
 @ChgRef{Version=[2],Kind=[AddedNormal],ARef=[AI95-00351-01],ARef=[AI95-00427-01]}
-@ChgAdded{Version=[2],Type=[Trailing],Text=[Returns a Time built from the date and time
-values, relative to the
-specified time zone offset. Time_Error is raised if Leap_Second is True,
-and Hour, Minute, and Second are not appropriate for a Leap_Second.
+@ChgAdded{Version=[2],Type=[Trailing],Text=[If Leap_Second is False,
+returns a Time built from the date and time
+values, relative to the specified time zone offset. If Leap_Second is True,
+returns the Time that represents the time within the leap second that is one
+second later than the time specified by the other parameters.
+Time_Error is raised if the parameters do not form a proper date or time.
 If Time_Of is called with a Sub_Second value of 1.0, the value
 returned is equal to the value of Time_Of for the next second with
 a Sub_Second value of 0.0.]}
 @begin{Discussion}
     @ChgRef{Version=[2],Kind=[AddedNormal]}
-    @ChgAdded{Version=[2],Text=[A leap second always occurs at midnight UTC, and is
-    23:59:60 UTC in ISO notation. So, if the time zone is UTC and Leap_Second
-    is True, if any of Hour /= 23, Minute /= 59, or Second /= 59, then
-    Time_Error should be raised.
+    @ChgAdded{Version=[2],Text=[Time_Error should be raised if Leap_Second
+    is True, and the date and time values do not represent the second before
+    a leap second. A leap second always occurs at midnight UTC,
+    and is 23:59:60 UTC in ISO notation. So, if the time zone is UTC and
+    Leap_Second is True, if any of Hour /= 23, Minute /= 59, or Second /= 59,
+    then Time_Error should be raised.
     However, we do not say that, because other time zones will have different
     values where a leap second is allowed.]}
 @end{Discussion}
@@ -3786,9 +3792,12 @@
                           @key<return> Time;]}
 @end{Example}
 @ChgRef{Version=[2],Kind=[AddedNormal],ARef=[AI95-00351-01],ARef=[AI95-00427-01]}
-@ChgAdded{Version=[2],Type=[Trailing],Text=[Returns a Time built from the date and time
-values, relative to the specified time zone offset. Time_Error is raised if
-Leap_Second is True, and Seconds is not appropriate for a Leap_Second.
+@ChgAdded{Version=[2],Type=[Trailing],Text=[If Leap_Second is False, returns
+a Time built from the date and time
+values, relative to the specified time zone offset. If Leap_Second is True,
+returns the Time that represents the time within the leap second that is one
+second later than the time specified by the other parameters.
+Time_Error is raised if the parameters do not form a proper date or time.
 If Time_Of is called with a Seconds value of 86_400.0, the value
 returned is equal to the value of Time_Of for the next day with
 a Seconds value of 0.0.]}
@@ -3809,7 +3818,7 @@
 @ChgAdded{Version=[2],Type=[Trailing],Text=[Split Date into its constituent parts (Year,
 Month, Day, Hour, Minute, Second, Sub_Second), relative to the specified time
 zone offset. Leap_Second is True if Date identifies a leap second. The value
-returned through the Sub_Second parameter is always less than 1.0.]}
+returned in the Sub_Second parameter is always less than 1.0.]}
 
 @begin{Example}@ChgRef{Version=[2],Kind=[AddedNormal]}
 @ChgAdded{Version=[2],Keepnext=[T],Text=[@key<procedure> Split (Date       : @key<in> Time;
@@ -3824,7 +3833,7 @@
 @ChgAdded{Version=[2],Type=[Trailing],Text=[Split Date into its constituent parts (Year,
 Month, Day, Seconds), relative to the specified time zone offset. Leap_Second
 is True if Date identifies a leap second. The value
-returned through the Seconds parameter is always less than 86_400.0.]}
+returned in the Seconds parameter is always less than 86_400.0.]}
 
 @begin{Example}@ChgRef{Version=[2],Kind=[AddedNormal]}
 @ChgAdded{Version=[2],Keepnext=[T],Text=[@key<function> Image (Date : Time;
@@ -3834,12 +3843,13 @@
 @ChgRef{Version=[2],Kind=[AddedNormal],ARef=[AI95-00351-01]}
 @ChgAdded{Version=[2],Type=[Trailing],Text=[Returns a string form of the Date relative to
 the given Time_Zone.
-The format is "Year-Month-Day Hour:Minute:Second", where each value
-other than Year is a 2-digit form of the value of the functions
+The format is "Year-Month-Day Hour:Minute:Second", where the Year is a
+4-digit value, and all others are 2-digit values, of the functions
 defined in Calendar and Calendar.Formatting, including a leading zero,
-if needed. Year is a 4-digit value.
+if needed. The separators between the values are
+a minus, another minus, a colon, and a single space between the Day and Hour.
 If Include_Time_Fraction is True, the integer part of Sub_Seconds*100 is
-suffixed to the string as a 2-digit value following a point.]}
+suffixed to the string as a point followed by a 2-digit value.]}
 @begin{Discussion}
     @ChgRef{Version=[2],Kind=[AddedNormal]}
     @ChgAdded{Version=[2],Text=[The Image provides a string in ISO 8601 format, the
@@ -3877,10 +3887,11 @@
 @end{Example}
 @ChgRef{Version=[2],Kind=[AddedNormal],ARef=[AI95-00351-01]}
 @ChgAdded{Version=[2],Type=[Trailing],Text=[Returns a string form of the Elapsed_Time.
-The format is "Hour:Minute:Second", where each value
-is a 2-digit form of the value, including a leading zero, if needed.
+The format is "Hour:Minute:Second", where all values are
+2-digit values, including a leading zero, if needed.
+The separators between the values are colons.
 If Include_Time_Fraction is True, the integer part of Sub_Seconds*100 is
-suffixed to the string as a 2-digit value following a point.
+suffixed to the string as a point followed by a 2-digit value.
 If Elapsed_Time < 0.0, the result is Image (@key<abs> Elapsed_Time,
 Include_Time_Fraction) prefixed with a minus sign. If @key<abs> Elapsed_Time
 represents 100 hours or more, the result is implementation-defined.]}
@@ -4220,14 +4231,16 @@
 @ChgAdded{Version=[2],Text=[If a @nt{procedure_call_statement} is used for a
 @nt{procedure_or_entry_call}, the @SynI{procedure_}@nt{name} or
 @SynI{procedure_}@nt{prefix} of the @nt{procedure_call_statement} shall denote
-an entry renamed as a procedure, a formal subprogram, or (a view of) a
+an entry renamed as a procedure or (a view of) a
 primitive subprogram of a limited interface whose first parameter is a
 controlling parameter (see @RefSecNum{Dispatching Operations of Tagged Types}).]}
 @begin{Reason}
 @ChgRef{Version=[2],Kind=[AddedNormal]}
 @ChgAdded{Version=[2],Text=[This would be a confusing way to call a procedure,
 so we only allow it when it is possible that the procedure is actually an
-entry.]}
+entry. We could have allowed formal subprograms here, but we didn't because
+we'd have to allow all of them, and it would increase the difficulty of
+generic code sharing.]}
 @end{Reason}
 @end{Legality}
 
@@ -4265,8 +4278,8 @@
 a call on a procedure implemented by an entry,],Old=[;]}
 the entry call is then issued.@Chg{Version=[2],New=[ Otherwise, the call
 proceeds as described in @RefSecNum{Subprogram Calls} for a procedure call,
-followed by the @nt{sequence_of_statements} of the @nt{entry_call_alternative},
-and the @nt{sequence_of_statements} of the @nt{delay_alternative} is ignored.],Old=[]}
+followed by the @nt{sequence_of_statements} of the @nt{entry_call_alternative};
+the @nt{sequence_of_statements} of the @nt{delay_alternative} is ignored.],Old=[]}
 
 
 If the call is queued (including due to a requeue-with-abort),
@@ -4441,7 +4454,7 @@
 then the @nt<abortable_part> is never started.]@Chg{Version=[2],New=[ If the
 call is on a procedure that is not implemented by an entry, the call proceeds
 as described in @RefSecNum{Subprogram Calls}, followed by the
-@nt{sequence_of_statements} of the @nt{triggering_alternative}@Redundant[, and
+@nt{sequence_of_statements} of the @nt{triggering_alternative}@Redundant[;
 the @nt{abortable_part} is never started].],Old=[]}
 
 

Questions? Ask the ACAA Technical Agent