re PR ada/82384 (s-taprop.adb failed to compile for x32)

PR ada/82384
	* libgnarl/s-linux__x32.ads (suseconds_t): New subtype.
	(time_t): Change from derived type to subtype.
	(timeval): Use suseconds_t for tv_usec.
	* libgnarl/s-osinte__x32.adb (To_Timespec): Remove use type clause.

From-SVN: r253366
This commit is contained in:
Eric Botcazou 2017-10-02 19:38:06 +00:00
parent da3723a8d5
commit de87f2d04a
3 changed files with 15 additions and 6 deletions

View File

@ -1,3 +1,12 @@
2017-10-02 Eric Botcazou <ebotcazou@adacore.com>
Pierre-Marie de Rodat <derodat@adacore.com>
PR ada/82384
* libgnarl/s-linux__x32.ads (suseconds_t): New subtype.
(time_t): Change from derived type to subtype.
(timeval): Use suseconds_t for tv_usec.
* libgnarl/s-osinte__x32.adb (To_Timespec): Remove use type clause.
2017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
* gcc-interface/decl.c (annotate_value): Use wi::to_widest when
@ -16,7 +25,7 @@
* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
doc/gnat_ugn/the_gnat_compilation_model.rst: Avoid use of single colon
in comment markup.
* gnat_ugn.texi: Regenerate.
* gnat_ugn.texi: Regenerate.
2017-09-29 Justin Squirek <squirek@adacore.com>

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 2013-2017, Free Software Foundation, Inc. --
-- Copyright (C) 2013-2017, Free Software Foundation, Inc. --
--
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
@ -45,8 +45,9 @@ package System.Linux is
-- Time --
----------
type time_t is new Long_Long_Integer;
subtype clockid_t is Interfaces.C.int;
subtype suseconds_t is Long_Long_Integer;
subtype time_t is Long_Long_Integer;
subtype clockid_t is Interfaces.C.int;
type timespec is record
tv_sec : time_t;
@ -56,7 +57,7 @@ package System.Linux is
type timeval is record
tv_sec : time_t;
tv_usec : Long_Long_Integer;
tv_usec : suseconds_t;
end record;
pragma Convention (C, timeval);

View File

@ -90,7 +90,6 @@ 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);