re PR ada/54040 ([x32] Incorrect timeval and timespec)

PR ada/54040
	PR ada/59346
	* s-osinte-x32.adb (To_Timespec): Add use directive.
	* s-osprim-x32.ads (Clock): Adjust.
	(To_Timespec): Likewise.

Co-Authored-By: Svante Signell <svante.signell@gmail.com>

From-SVN: r209257
This commit is contained in:
Eric Botcazou 2014-04-09 23:18:28 +00:00 committed by Eric Botcazou
parent 8267f6bb08
commit 7056f58f69
3 changed files with 5 additions and 2 deletions

View File

@ -12,6 +12,8 @@
* s-linux-sparc.ads (Time): Likewise.
* s-linux-x32.ads (Time): Likewise.
* s-osprim-x32.ads (timespec): Adjust.
(Clock): Likewise.
(To_Timespec): Likewise.
* s-osinte-linux.ads (Time): Define local subtypes for those defined
in System.Linux.
* s-taprop-linux.adb (Monotonic_Clock): Do not define timeval.

View File

@ -90,6 +90,7 @@ package body System.OS_Interface is
S : time_t;
F : Duration;
use type System.Linux.time_t;
begin
S := time_t (Long_Long_Integer (D));
F := D - Duration (S);

View File

@ -54,7 +54,7 @@ package body System.OS_Primitives is
-----------
function Clock return Duration is
type timeval is array (1 .. 2) of time_t;
type timeval is array (1 .. 2) of Long_Long_Integer;
procedure timeval_to_duration
(T : not null access timeval;
@ -118,7 +118,7 @@ package body System.OS_Primitives is
return
timespec'(tv_sec => S,
tv_nsec => time_t (Long_Long_Integer (F * 10#1#E9)));
tv_nsec => Long_Long_Integer (F * 10#1#E9));
end To_Timespec;
-----------------