aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/libgnat/s-os_lib.adb18
-rw-r--r--gcc/ada/libgnat/s-os_lib.ads11
3 files changed, 34 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 499a489..932ff97 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2019-08-19 Dmitriy Anisimkov <anisimko@adacore.com>
+
+ * libgnat/s-os_lib.ads, libgnat/s-os_lib.adb (To_Ada, To_C): New
+ routines.
+
2019-08-19 Bob Duff <duff@adacore.com>
* exp_attr.adb (Attribute_Valid): Correct the handling of
diff --git a/gcc/ada/libgnat/s-os_lib.adb b/gcc/ada/libgnat/s-os_lib.adb
index c3c1979..258cd64 100644
--- a/gcc/ada/libgnat/s-os_lib.adb
+++ b/gcc/ada/libgnat/s-os_lib.adb
@@ -2979,6 +2979,15 @@ package body System.OS_Lib is
end loop;
end Spawn_Internal;
+ ------------
+ -- To_Ada --
+ ------------
+
+ function To_Ada (Time : time_t) return OS_Time is
+ begin
+ return OS_Time (Time);
+ end To_Ada;
+
---------------------------
-- To_Path_String_Access --
---------------------------
@@ -3008,6 +3017,15 @@ package body System.OS_Lib is
return Return_Val;
end To_Path_String_Access;
+ ----------
+ -- To_C --
+ ----------
+
+ function To_C (Time : OS_Time) return time_t is
+ begin
+ return time_t (Time);
+ end To_C;
+
------------------
-- Wait_Process --
------------------
diff --git a/gcc/ada/libgnat/s-os_lib.ads b/gcc/ada/libgnat/s-os_lib.ads
index 3e8c21d..99406e9 100644
--- a/gcc/ada/libgnat/s-os_lib.ads
+++ b/gcc/ada/libgnat/s-os_lib.ads
@@ -164,6 +164,15 @@ package System.OS_Lib is
-- component parts to be interpreted in the local time zone, and returns
-- an OS_Time. Returns Invalid_Time if the creation fails.
+ subtype time_t is Long_Integer;
+ -- C time_t type of the time representation
+
+ function To_C (Time : OS_Time) return time_t;
+ -- Convert OS_Time to C time_t type
+
+ function To_Ada (Time : time_t) return OS_Time;
+ -- Convert C time_t type to OS_Time
+
----------------
-- File Stuff --
----------------
@@ -1107,6 +1116,8 @@ private
pragma Inline (">");
pragma Inline ("<=");
pragma Inline (">=");
+ pragma Inline (To_C);
+ pragma Inline (To_Ada);
type Process_Id is new Integer;
Invalid_Pid : constant Process_Id := -1;