summaryrefslogtreecommitdiff
path: root/gcc/ada/a-calend-vms.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-06 10:14:46 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-06 10:14:46 +0000
commitdf60170ddc5409cd057bef02d27df3806811d967 (patch)
tree82b6ae097e3527bf05464afd6655618c004ec21e /gcc/ada/a-calend-vms.ads
parentbf941b70cecd7a42e70e911a26d479394cc64d5c (diff)
downloadgcc-df60170ddc5409cd057bef02d27df3806811d967.tar.gz
2007-04-20 Hristian Kirtchev <kirtchev@adacore.com>
* a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-" (Time, Time)): Use To_Relative_Time rather than manual calculation to express the bounds of Duration as Time. Raise Time_Error when the result is greater or equal to the higher bound of Duration (on the margin case). ("+" (Time, Duration)): Reorder code. Remove the declaration of constant Ada_High_And_Leaps. ("-" (Time, Duration)): Reorder code. Remove the declaration of constant Ada_High_And_Leaps. ("-" (Time, Time)): Reorder code. (All_Leap_Seconds): Removed. (Arithmetic_Operations.Add): Remove sign related kludge. (Arithmetic_Operations.Difference): Control the leaps seconds processing with flag Leap_Support. (Arithmetic_Operations.Subtract): Remove sign related kludge. (Check_Within_Time_Bounds): New procedure. (Clock): Control the leap seconds processing with flag Leap_Support. (Cumulative_Leap_Seconds): Assert that the target supports leap seconds. (Formatting_Operations.Split): Control the leap seconds processing with flag Leap_Support. (Formatting_Operations.Time_Of): Control the leaps seconds processing with flag Leap_Support. Adjust the year, month and day (if applicable) when the value of day seconds designates a new day. (Split): Use parameter associations for better readability. Integrate flag Is_Ada_05. (Time_Of): Use parameter associations for better readability. Integrate flag Is_Ada_05. * a-calfor.adb (Split): Use parameter associations for better readability. Integrate flag Is_Ada_05. (Time_Of): Remove flag Leap_Checks. Use parameter associations for better readability. Integrate flag Is_Ada_05. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125363 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/a-calend-vms.ads')
-rw-r--r--gcc/ada/a-calend-vms.ads46
1 files changed, 23 insertions, 23 deletions
diff --git a/gcc/ada/a-calend-vms.ads b/gcc/ada/a-calend-vms.ads
index 6fc05f3f80a..f0c97492732 100644
--- a/gcc/ada/a-calend-vms.ads
+++ b/gcc/ada/a-calend-vms.ads
@@ -113,7 +113,7 @@ private
-- system base date and time 1858-11-17 0.0 (the Smithsonian base date and
-- time for the astronomic calendar).
- -- The time value stored is typically a GMT value, as provided in standard
+ -- The time value stored is typically a UTC value, as provided in standard
-- Unix environments. If this is the case then Split and Time_Of perform
-- required conversions to and from local times.
@@ -123,11 +123,6 @@ private
type Time is new OSP.OS_Time;
- -- The range of Ada time expressed as milis since the VMS Epoch
-
- Ada_Low : constant Time := (10 * 366 + 32 * 365 + 45) * Milis_In_Day;
- Ada_High : constant Time := (131 * 366 + 410 * 365 + 45) * Milis_In_Day;
-
Days_In_Month : constant array (Month_Number) of Day_Number :=
(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
@@ -145,7 +140,7 @@ private
package Arithmetic_Operations is
function Add (Date : Time; Days : Long_Integer) return Time;
- -- Add X number of days to a time value
+ -- Add a certain number of days to a time value
procedure Difference
(Left : Time;
@@ -159,7 +154,7 @@ private
-- values are positive, negative otherwise.
function Subtract (Date : Time; Days : Long_Integer) return Time;
- -- Subtract X number of days from a time value
+ -- Subtract a certain number of days from a time value
end Arithmetic_Operations;
package Formatting_Operations is
@@ -168,18 +163,21 @@ private
-- within the range of 0 .. 6 (Monday .. Sunday).
procedure Split
- (Date : Time;
- Year : out Year_Number;
- Month : out Month_Number;
- Day : out Day_Number;
- Day_Secs : out Day_Duration;
- Hour : out Integer;
- Minute : out Integer;
- Second : out Integer;
- Sub_Sec : out Duration;
- Leap_Sec : out Boolean;
- Time_Zone : Long_Integer);
- -- Split a time value into its components
+ (Date : Time;
+ Year : out Year_Number;
+ Month : out Month_Number;
+ Day : out Day_Number;
+ Day_Secs : out Day_Duration;
+ Hour : out Integer;
+ Minute : out Integer;
+ Second : out Integer;
+ Sub_Sec : out Duration;
+ Leap_Sec : out Boolean;
+ Is_Ada_05 : Boolean;
+ Time_Zone : Long_Integer);
+ -- Split a time value into its components. Set Is_Ada_05 to use the
+ -- local time zone (the value in Time_Zone is ignored) when splitting
+ -- a time value.
function Time_Of
(Year : Year_Number;
@@ -191,18 +189,20 @@ private
Second : Integer;
Sub_Sec : Duration;
Leap_Sec : Boolean;
- Leap_Checks : Boolean;
Use_Day_Secs : Boolean;
+ Is_Ada_05 : Boolean;
Time_Zone : Long_Integer) return Time;
-- Given all the components of a date, return the corresponding time
-- value. Set Use_Day_Secs to use the value in Day_Secs, otherwise the
-- day duration will be calculated from Hour, Minute, Second and Sub_
- -- Sec. Set flag Leap_Checks to verify the validity of a leap second.
+ -- Sec. Set Is_Ada_05 to use the local time zone (the value in formal
+ -- Time_Zone is ignored) when building a time value and to verify the
+ -- validity of a requested leap second.
end Formatting_Operations;
package Time_Zones_Operations is
function UTC_Time_Offset (Date : Time) return Long_Integer;
- -- Return the offset in seconds from GMT
+ -- Return the offset in seconds from UTC
end Time_Zones_Operations;
end Ada.Calendar;