a-calend-vms.ads, [...]: New version of Ada.Calendar which supports the new upper...
authorHristian Kirtchev <kirtchev@adacore.com>
Fri, 6 Apr 2007 09:15:21 +0000 (11:15 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 6 Apr 2007 09:15:21 +0000 (11:15 +0200)
commit42907632860e44cc8c8b49a0b74444f62791fb9c
tree7a061f08c1577dcad5f77bb59e183a711e8af6e1
parent3d3bf932b985baee7ac3973208c0d775dcb93b5d
a-calend-vms.ads, [...]: New version of Ada.Calendar which supports the new upper bound of Ada time...

2007-04-06  Hristian Kirtchev  <kirtchev@adacore.com>
    Vincent Celier  <celier@adacore.com>

* a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
New version of Ada.Calendar which supports the new upper bound of Ada
time (2399-12-31 86_399.999999999).
The following modifications have been made to the package:
 - New representation of time as count of nanoseconds since the start of
   Ada time (1901-1-1 0.0).
 - Target independent Split and Time_Of routines which service both
   Ada 95 and Ada 2005 code.
 - Target independent interface to the Ada 2005 children of Calendar.
 - Integrated leap seconds into Ada 95 and Ada 2005 mode.
 - Handling of non-leap centenial years.
 - Updated clock function.
 - Updated arithmetic and comparison operators.

* a-caldel.adb (To_Duration): Add call to target independent routine in
Ada.Calendar to handle the conversion of time to duration.

* sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
(UTC Offset).
If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
set off to 0.
(__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
targets do not have a natural time zone, GMT is used as a default.
(__gnat_get_task_options): New.

* a-direct.adb (Modification_Time): Add with and use clauses for
Ada.Calendar and Ada.
Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
since it is no longer needed.
(Duration_To_Time): Removed.
(OS_Time_To_Long_Integer): Removed.
(Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
Formatting Time_Of routines which automatically handle time zones,
buffer periods and leap seconds.

* a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
target independent routines in Ada.Calendar.

* a-calfor.ads, a-calfor.adb:
Code cleanup and addition of validity checks in various routines.
(Day_Of_Week, Split, Time_Of): Add call to target independent routine in
Ada.Calendar.

* a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
independent routine in Ada.Calendar.

From-SVN: r123543
13 files changed:
gcc/ada/a-calari.adb
gcc/ada/a-calari.ads
gcc/ada/a-caldel.adb
gcc/ada/a-calend-vms.adb
gcc/ada/a-calend-vms.ads
gcc/ada/a-calend.adb
gcc/ada/a-calend.ads
gcc/ada/a-calfor.adb
gcc/ada/a-calfor.ads
gcc/ada/a-catizo.adb
gcc/ada/a-catizo.ads
gcc/ada/a-direct.adb
gcc/ada/sysdep.c