[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:
parent
4ef36ac7d0
commit
69d8d8b48d
|
@ -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>
|
2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* inline.adb (Subp_Info): Remove Listed component.
|
* inline.adb (Subp_Info): Remove Listed component.
|
||||||
|
|
|
@ -693,9 +693,7 @@ package body Ada.Text_IO is
|
||||||
Item : out String;
|
Item : out String;
|
||||||
Last : out Natural) is separate;
|
Last : out Natural) is separate;
|
||||||
-- The implementation of Ada.Text_IO.Get_Line is split into a subunit so
|
-- The implementation of Ada.Text_IO.Get_Line is split into a subunit so
|
||||||
-- that different implementations can be used on different systems. In
|
-- that different implementations can be used on different systems.
|
||||||
-- particular the standard implementation uses low level stuff that is
|
|
||||||
-- not appropriate for the VMs.
|
|
||||||
|
|
||||||
procedure Get_Line
|
procedure Get_Line
|
||||||
(Item : out String;
|
(Item : out String;
|
||||||
|
|
|
@ -2122,25 +2122,14 @@ package Einfo is
|
||||||
|
|
||||||
-- Interface_Name (Node21)
|
-- Interface_Name (Node21)
|
||||||
-- Defined in constants, variables, exceptions, functions, procedures,
|
-- Defined in constants, variables, exceptions, functions, procedures,
|
||||||
-- packages, components (JGNAT only), discriminants (JGNAT only), and
|
-- and packages. Set to Empty unless an export, import, or interface name
|
||||||
-- access to subprograms (JGNAT only). Set to Empty unless an export,
|
-- pragma has explicitly specified an external name, in which case it
|
||||||
-- import, or interface name pragma has explicitly specified an external
|
-- references an N_String_Literal node for the specified external name.
|
||||||
-- name, in which case it references an N_String_Literal node for the
|
-- Note that if this field is Empty, and Is_Imported or Is_Exported is
|
||||||
-- specified external name. Note that if this field is Empty, and
|
-- set, then the default interface name is the name of the entity, cased
|
||||||
-- Is_Imported or Is_Exported is set, then the default interface name
|
-- in a manner that is appropriate to the system in use. Note that
|
||||||
-- is the name of the entity, cased in a manner that is appropriate to
|
-- Interface_Name is ignored if an address clause is present (since it
|
||||||
-- the system in use. Note that Interface_Name is ignored if an address
|
-- is meaningless in this case).
|
||||||
-- 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).
|
|
||||||
|
|
||||||
-- Interfaces (Elist25)
|
-- Interfaces (Elist25)
|
||||||
-- Defined in record types and subtypes. List of abstract interfaces
|
-- 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).
|
-- vtable (i.e. the one to be extended by derivation).
|
||||||
|
|
||||||
-- Is_Tagged_Type (Flag55)
|
-- 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)
|
-- Is_Task_Interface (synthesized)
|
||||||
-- Defined in types that are interfaces. True if interface is declared as
|
-- Defined in types that are interfaces. True if interface is declared as
|
||||||
|
@ -5513,7 +5502,6 @@ package Einfo is
|
||||||
-- E_Access_Subprogram_Type
|
-- E_Access_Subprogram_Type
|
||||||
-- Equivalent_Type (Node18) (remote types only)
|
-- Equivalent_Type (Node18) (remote types only)
|
||||||
-- Directly_Designated_Type (Node20)
|
-- Directly_Designated_Type (Node20)
|
||||||
-- Interface_Name (Node21) (JGNAT usage only)
|
|
||||||
-- Needs_No_Actuals (Flag22)
|
-- Needs_No_Actuals (Flag22)
|
||||||
-- Original_Access_Type (Node28)
|
-- Original_Access_Type (Node28)
|
||||||
-- Can_Use_Internal_Rep (Flag229)
|
-- Can_Use_Internal_Rep (Flag229)
|
||||||
|
@ -5619,7 +5607,6 @@ package Einfo is
|
||||||
-- Prival (Node17)
|
-- Prival (Node17)
|
||||||
-- Renamed_Object (Node18) (always Empty)
|
-- Renamed_Object (Node18) (always Empty)
|
||||||
-- Discriminant_Checking_Func (Node20)
|
-- Discriminant_Checking_Func (Node20)
|
||||||
-- Interface_Name (Node21) (JGNAT usage only)
|
|
||||||
-- Original_Record_Component (Node22)
|
-- Original_Record_Component (Node22)
|
||||||
-- DT_Offset_To_Top_Func (Node25)
|
-- DT_Offset_To_Top_Func (Node25)
|
||||||
-- Related_Type (Node27)
|
-- Related_Type (Node27)
|
||||||
|
@ -5712,7 +5699,6 @@ package Einfo is
|
||||||
-- Renamed_Object (Node18) (always Empty)
|
-- Renamed_Object (Node18) (always Empty)
|
||||||
-- Corresponding_Discriminant (Node19)
|
-- Corresponding_Discriminant (Node19)
|
||||||
-- Discriminant_Default_Value (Node20)
|
-- Discriminant_Default_Value (Node20)
|
||||||
-- Interface_Name (Node21) (JGNAT usage only)
|
|
||||||
-- Original_Record_Component (Node22)
|
-- Original_Record_Component (Node22)
|
||||||
-- CR_Discriminant (Node23)
|
-- CR_Discriminant (Node23)
|
||||||
-- Is_Return_Object (Flag209)
|
-- Is_Return_Object (Flag209)
|
||||||
|
|
|
@ -536,8 +536,6 @@ package body Exp_Aggr is
|
||||||
|
|
||||||
-- 10. No controlled actions need to be generated for components
|
-- 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
|
function Backend_Processing_Possible (N : Node_Id) return Boolean is
|
||||||
Typ : constant Entity_Id := Etype (N);
|
Typ : constant Entity_Id := Etype (N);
|
||||||
-- Typ is the correct constrained array subtype of the aggregate
|
-- 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
|
-- present we can proceed since the bounds can be obtained from the
|
||||||
-- aggregate.
|
-- 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
|
if Hiv < Lov
|
||||||
or else (not Compile_Time_Known_Value (Blo) and then Others_Present)
|
or else (not Compile_Time_Known_Value (Blo) and then Others_Present)
|
||||||
then
|
then
|
||||||
|
|
|
@ -5806,9 +5806,7 @@ package body Exp_Ch4 is
|
||||||
if Is_Tagged_Type (Typ) then
|
if Is_Tagged_Type (Typ) then
|
||||||
|
|
||||||
-- No expansion will be performed for VM targets, as the VM
|
-- No expansion will be performed for VM targets, as the VM
|
||||||
-- back-ends will handle the membership tests directly (tags
|
-- back-ends will handle the membership tests directly.
|
||||||
-- are not explicitly represented in VM objects, so the
|
|
||||||
-- normal tagged membership expansion is not what we want).
|
|
||||||
|
|
||||||
if Tagged_Type_Expansion then
|
if Tagged_Type_Expansion then
|
||||||
Tagged_Membership (N, SCIL_Node, New_N);
|
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
|
-- No expansion will be performed for VM targets, as
|
||||||
-- the VM back-ends will handle the membership tests
|
-- the VM back-ends will handle the membership tests
|
||||||
-- directly (tags are not explicitly represented in
|
-- directly.
|
||||||
-- objects, so the normal tagged membership
|
|
||||||
-- expansion is not what we want).
|
|
||||||
|
|
||||||
if Tagged_Type_Expansion then
|
if Tagged_Type_Expansion then
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,14 @@ package body System.OS_Primitives is
|
||||||
Signature : Signature_Type := 0;
|
Signature : Signature_Type := 0;
|
||||||
pragma Atomic (Signature);
|
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);
|
procedure Get_Base_Time (Data : in out Clock_Data);
|
||||||
-- Retrieve the base time and base ticks. These values will be used by
|
-- 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
|
-- clock to compute the current time by adding to it a fraction of the
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
-- --
|
-- --
|
||||||
-- B o d y --
|
-- 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 --
|
-- 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- --
|
-- 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;
|
return Duration (sec) + Duration (usec) / Micro;
|
||||||
end Clock;
|
end Clock;
|
||||||
|
|
||||||
---------------------
|
|
||||||
-- Monotonic_Clock --
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
function Monotonic_Clock return Duration renames Clock;
|
|
||||||
|
|
||||||
-----------------
|
-----------------
|
||||||
-- To_Timespec --
|
-- To_Timespec --
|
||||||
-----------------
|
-----------------
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
-- --
|
-- --
|
||||||
-- B o d y --
|
-- 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 --
|
-- 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- --
|
-- 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 --
|
-- Monotonic_Clock --
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
function Monotonic_Clock return Duration
|
function Monotonic_Clock return Duration is
|
||||||
renames System.OS_Primitives.Monotonic_Clock;
|
function Internal_Clock return Duration;
|
||||||
|
pragma Import (Ada, Internal_Clock, "__gnat_monotonic_clock");
|
||||||
|
begin
|
||||||
|
return Internal_Clock;
|
||||||
|
end Monotonic_Clock;
|
||||||
|
|
||||||
-------------------
|
-------------------
|
||||||
-- RT_Resolution --
|
-- RT_Resolution --
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
-- --
|
-- --
|
||||||
-- B o d y --
|
-- 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 --
|
-- 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- --
|
-- 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
|
else
|
||||||
declare
|
declare
|
||||||
Cal_Check_Time : constant Duration :=
|
Cal_Check_Time : constant Duration := OS_Primitives.Clock;
|
||||||
OS_Primitives.Monotonic_Clock;
|
|
||||||
RT_Time : constant Duration :=
|
RT_Time : constant Duration :=
|
||||||
Time + Check_Time - Cal_Check_Time;
|
Time + Check_Time - Cal_Check_Time;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Abs_Time :=
|
Abs_Time :=
|
||||||
Duration'Min (Check_Time + Max_Sensible_Delay, RT_Time);
|
Duration'Min (Check_Time + Max_Sensible_Delay, RT_Time);
|
||||||
|
|
Loading…
Reference in New Issue