[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
This commit is contained in:
Arnaud Charlet 2015-10-16 14:43:21 +02:00
parent 4ef36ac7d0
commit 69d8d8b48d
9 changed files with 46 additions and 54 deletions

View File

@ -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.

View File

@ -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;

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 --
-----------------

View File

@ -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 --

View File

@ -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);