aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2015-10-16 14:43:21 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2015-10-16 14:43:21 +0200
commit69d8d8b48db46c328cd16f3f2605677f35fe1362 (patch)
tree685b5562572d8060dafeaac4db705e55afc8540e /gcc
parent4ef36ac7d0cfd23f8f72744796d2d118fd7f1c7d (diff)
downloadgcc-69d8d8b48db46c328cd16f3f2605677f35fe1362.zip
gcc-69d8d8b48db46c328cd16f3f2605677f35fe1362.tar.gz
gcc-69d8d8b48db46c328cd16f3f2605677f35fe1362.tar.bz2
[multiple changes]
2015-10-16 Arnaud Charlet <charlet@adacore.com> * s-osprim-mingw.adb, s-osprim-x32.adb, s-taprop-mingw.adb, s-taprop-posix.adb (Monotonic_Clock): Removed, not used. Remove remaining references to OS_Primitives.Monotonic_Clock. Keep it only on windows which is a special case. 2015-10-16 Javier Miranda <miranda@adacore.com> * a-textio.adb (Get_Line): Fix documentation. * einfo.ads (Interface_Name): Fix documentation. * exp_aggr.adb (Backend_Processing_Possible): Fix documentation. * exp_ch4.adb (Expand_N_In): Fix documentation. From-SVN: r228884
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog14
-rw-r--r--gcc/ada/a-textio.adb4
-rw-r--r--gcc/ada/einfo.ads32
-rw-r--r--gcc/ada/exp_aggr.adb8
-rw-r--r--gcc/ada/exp_ch4.adb8
-rw-r--r--gcc/ada/s-osprim-mingw.adb8
-rw-r--r--gcc/ada/s-osprim-x32.adb8
-rw-r--r--gcc/ada/s-taprop-mingw.adb10
-rw-r--r--gcc/ada/s-taprop-posix.adb8
9 files changed, 46 insertions, 54 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index d745cca..7b59042 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,17 @@
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osprim-mingw.adb, s-osprim-x32.adb, s-taprop-mingw.adb,
+ s-taprop-posix.adb (Monotonic_Clock): Removed, not used.
+ Remove remaining references to OS_Primitives.Monotonic_Clock.
+ Keep it only on windows which is a special case.
+
+2015-10-16 Javier Miranda <miranda@adacore.com>
+
+ * a-textio.adb (Get_Line): Fix documentation.
+ * einfo.ads (Interface_Name): Fix documentation.
+ * exp_aggr.adb (Backend_Processing_Possible): Fix documentation.
+ * exp_ch4.adb (Expand_N_In): Fix documentation.
+
2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb (Subp_Info): Remove Listed component.
diff --git a/gcc/ada/a-textio.adb b/gcc/ada/a-textio.adb
index df5e18a..dc0b453 100644
--- a/gcc/ada/a-textio.adb
+++ b/gcc/ada/a-textio.adb
@@ -693,9 +693,7 @@ package body Ada.Text_IO is
Item : out String;
Last : out Natural) is separate;
-- The implementation of Ada.Text_IO.Get_Line is split into a subunit so
- -- that different implementations can be used on different systems. In
- -- particular the standard implementation uses low level stuff that is
- -- not appropriate for the VMs.
+ -- that different implementations can be used on different systems.
procedure Get_Line
(Item : out String;
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads
index 07d9a9518..a31951f 100644
--- a/gcc/ada/einfo.ads
+++ b/gcc/ada/einfo.ads
@@ -2122,25 +2122,14 @@ package Einfo is
-- Interface_Name (Node21)
-- Defined in constants, variables, exceptions, functions, procedures,
--- packages, components (JGNAT only), discriminants (JGNAT only), and
--- access to subprograms (JGNAT only). Set to Empty unless an export,
--- import, or interface name pragma has explicitly specified an external
--- name, in which case it references an N_String_Literal node for the
--- specified external name. Note that if this field is Empty, and
--- Is_Imported or Is_Exported is set, then the default interface name
--- is the name of the entity, cased in a manner that is appropriate to
--- the system in use. Note that Interface_Name is ignored if an address
--- clause is present (since it is meaningless in this case).
---
--- An additional special case usage of this field is in JGNAT for
--- E_Component and E_Discriminant. JGNAT allows these entities to be
--- imported by specifying pragma Import within a component's containing
--- record definition. This supports interfacing to object fields defined
--- within Java classes, and such pragmas are generated by the jvm2ada
--- binding generator tool whenever it processes classes with public
--- object fields. A pragma Import for a component can define the
--- External_Name of the imported Java field (which is generally needed,
--- because Java names are case sensitive).
+-- and packages. Set to Empty unless an export, import, or interface name
+-- pragma has explicitly specified an external name, in which case it
+-- references an N_String_Literal node for the specified external name.
+-- Note that if this field is Empty, and Is_Imported or Is_Exported is
+-- set, then the default interface name is the name of the entity, cased
+-- in a manner that is appropriate to the system in use. Note that
+-- Interface_Name is ignored if an address clause is present (since it
+-- is meaningless in this case).
-- Interfaces (Elist25)
-- Defined in record types and subtypes. List of abstract interfaces
@@ -3070,7 +3059,7 @@ package Einfo is
-- vtable (i.e. the one to be extended by derivation).
-- Is_Tagged_Type (Flag55)
--- Defined in all entities. Set for an entity that is a tagged type
+-- Defined in all entities. Set for an entity that is a tagged type.
-- Is_Task_Interface (synthesized)
-- Defined in types that are interfaces. True if interface is declared as
@@ -5513,7 +5502,6 @@ package Einfo is
-- E_Access_Subprogram_Type
-- Equivalent_Type (Node18) (remote types only)
-- Directly_Designated_Type (Node20)
- -- Interface_Name (Node21) (JGNAT usage only)
-- Needs_No_Actuals (Flag22)
-- Original_Access_Type (Node28)
-- Can_Use_Internal_Rep (Flag229)
@@ -5619,7 +5607,6 @@ package Einfo is
-- Prival (Node17)
-- Renamed_Object (Node18) (always Empty)
-- Discriminant_Checking_Func (Node20)
- -- Interface_Name (Node21) (JGNAT usage only)
-- Original_Record_Component (Node22)
-- DT_Offset_To_Top_Func (Node25)
-- Related_Type (Node27)
@@ -5712,7 +5699,6 @@ package Einfo is
-- Renamed_Object (Node18) (always Empty)
-- Corresponding_Discriminant (Node19)
-- Discriminant_Default_Value (Node20)
- -- Interface_Name (Node21) (JGNAT usage only)
-- Original_Record_Component (Node22)
-- CR_Discriminant (Node23)
-- Is_Return_Object (Flag209)
diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb
index 5f4234a..cfb3b45 100644
--- a/gcc/ada/exp_aggr.adb
+++ b/gcc/ada/exp_aggr.adb
@@ -536,8 +536,6 @@ package body Exp_Aggr is
-- 10. No controlled actions need to be generated for components
- -- 11. For a VM back end, the array should have no aliased components
-
function Backend_Processing_Possible (N : Node_Id) return Boolean is
Typ : constant Entity_Id := Etype (N);
-- Typ is the correct constrained array subtype of the aggregate
@@ -3657,12 +3655,6 @@ package body Exp_Aggr is
-- present we can proceed since the bounds can be obtained from the
-- aggregate.
- -- Note: This case is required in VM platforms since their backends
- -- normalize array indexes in the range 0 .. N-1. Hence, if we do
- -- not flat an array whose bounds cannot be obtained from the type
- -- of the index the backend has no way to properly generate the code.
- -- See ACATS c460010 for an example.
-
if Hiv < Lov
or else (not Compile_Time_Known_Value (Blo) and then Others_Present)
then
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb
index 9a144fb..8cfcb66 100644
--- a/gcc/ada/exp_ch4.adb
+++ b/gcc/ada/exp_ch4.adb
@@ -5806,9 +5806,7 @@ package body Exp_Ch4 is
if Is_Tagged_Type (Typ) then
-- No expansion will be performed for VM targets, as the VM
- -- back-ends will handle the membership tests directly (tags
- -- are not explicitly represented in VM objects, so the
- -- normal tagged membership expansion is not what we want).
+ -- back-ends will handle the membership tests directly.
if Tagged_Type_Expansion then
Tagged_Membership (N, SCIL_Node, New_N);
@@ -6067,9 +6065,7 @@ package body Exp_Ch4 is
-- No expansion will be performed for VM targets, as
-- the VM back-ends will handle the membership tests
- -- directly (tags are not explicitly represented in
- -- objects, so the normal tagged membership
- -- expansion is not what we want).
+ -- directly.
if Tagged_Type_Expansion then
diff --git a/gcc/ada/s-osprim-mingw.adb b/gcc/ada/s-osprim-mingw.adb
index 13c5354..adda514 100644
--- a/gcc/ada/s-osprim-mingw.adb
+++ b/gcc/ada/s-osprim-mingw.adb
@@ -90,6 +90,14 @@ package body System.OS_Primitives is
Signature : Signature_Type := 0;
pragma Atomic (Signature);
+ function Monotonic_Clock return Duration;
+ pragma Export (Ada, Monotonic_Clock, "__gnat_monotonic_clock");
+ -- Return "absolute" time, represented as an offset relative to "the Unix
+ -- Epoch", which is Jan 1, 1970 00:00:00 UTC. This clock implementation is
+ -- immune to the system's clock changes.
+ -- Export this function so that it can be imported from s-taprop-mingw.adb
+ -- without changing the shared spec (s-osprim.ads).
+
procedure Get_Base_Time (Data : in out Clock_Data);
-- Retrieve the base time and base ticks. These values will be used by
-- clock to compute the current time by adding to it a fraction of the
diff --git a/gcc/ada/s-osprim-x32.adb b/gcc/ada/s-osprim-x32.adb
index e0c020c..b457f5b 100644
--- a/gcc/ada/s-osprim-x32.adb
+++ b/gcc/ada/s-osprim-x32.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2013-2014, Free Software Foundation, Inc. --
+-- Copyright (C) 2013-2015, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -88,12 +88,6 @@ package body System.OS_Primitives is
return Duration (sec) + Duration (usec) / Micro;
end Clock;
- ---------------------
- -- Monotonic_Clock --
- ---------------------
-
- function Monotonic_Clock return Duration renames Clock;
-
-----------------
-- To_Timespec --
-----------------
diff --git a/gcc/ada/s-taprop-mingw.adb b/gcc/ada/s-taprop-mingw.adb
index cecb7e5..c945e1d 100644
--- a/gcc/ada/s-taprop-mingw.adb
+++ b/gcc/ada/s-taprop-mingw.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2015, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -1068,8 +1068,12 @@ package body System.Task_Primitives.Operations is
-- Monotonic_Clock --
---------------------
- function Monotonic_Clock return Duration
- renames System.OS_Primitives.Monotonic_Clock;
+ function Monotonic_Clock return Duration is
+ function Internal_Clock return Duration;
+ pragma Import (Ada, Internal_Clock, "__gnat_monotonic_clock");
+ begin
+ return Internal_Clock;
+ end Monotonic_Clock;
-------------------
-- RT_Resolution --
diff --git a/gcc/ada/s-taprop-posix.adb b/gcc/ada/s-taprop-posix.adb
index cdbc064..992f3e7 100644
--- a/gcc/ada/s-taprop-posix.adb
+++ b/gcc/ada/s-taprop-posix.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2015, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -293,10 +293,10 @@ package body System.Task_Primitives.Operations is
else
declare
- Cal_Check_Time : constant Duration :=
- OS_Primitives.Monotonic_Clock;
+ Cal_Check_Time : constant Duration := OS_Primitives.Clock;
RT_Time : constant Duration :=
- Time + Check_Time - Cal_Check_Time;
+ Time + Check_Time - Cal_Check_Time;
+
begin
Abs_Time :=
Duration'Min (Check_Time + Max_Sensible_Delay, RT_Time);