Commit a68d415b by Arnaud Charlet

[multiple changes]

2011-12-20  Robert Dewar  <dewar@adacore.com>

	* a-cdlili.ads, sem_cat.adb, sem_ch10.adb: Minor reformatting.

2011-12-20  Bob Duff  <duff@adacore.com>

	* s-taprop-mingw.adb (Yield): Do_Yield is no longer Unreferenced.

2011-12-20  Vincent Pucci  <pucci@adacore.com>

	* impunit.adb: s-dimkio, s-dimmks and s-dmotpr defined as GNAT
	Defined Additions to System.
	* Makefile.rtl: s-dimkio, s-dimmks and s-dmotpr added.
	* s-dimkio.ads, s-dimmks.ads, s-dmotpr.ads: New files.

2011-12-20  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb (Traverse_Homonyms): Allow a homonym to match when
	within an instance, even if the homonym is marked Is_Hidden at
	this point.

From-SVN: r182535
parent 54c04d6c
2011-12-20 Robert Dewar <dewar@adacore.com>
* a-cdlili.ads, sem_cat.adb, sem_ch10.adb: Minor reformatting.
2011-12-20 Bob Duff <duff@adacore.com>
* s-taprop-mingw.adb (Yield): Do_Yield is no longer Unreferenced.
2011-12-20 Vincent Pucci <pucci@adacore.com>
* impunit.adb: s-dimkio, s-dimmks and s-dmotpr defined as GNAT
Defined Additions to System.
* Makefile.rtl: s-dimkio, s-dimmks and s-dmotpr added.
* s-dimkio.ads, s-dimmks.ads, s-dmotpr.ads: New files.
2011-12-20 Gary Dismukes <dismukes@adacore.com>
* sem_ch4.adb (Traverse_Homonyms): Allow a homonym to match when
within an instance, even if the homonym is marked Is_Hidden at
this point.
2011-12-20 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch5.adb, s-diinio.adb, s-diinio.ads, sem_dim.adb,
sem_dim.ads, sem_res.adb, s-stposu.adb, s-stposu.ads, sem_ch4.adb,
s-diflio.adb, s-diflio.ads, exp_disp.adb, s-llflex.ads: Minor
......
......@@ -506,7 +506,10 @@ GNATRTL_NONTASKING_OBJS= \
s-crtrun$(objext) \
s-diflio$(objext) \
s-diinio$(objext) \
s-dimkio$(objext) \
s-dimmks$(objext) \
s-direio$(objext) \
s-dmotpr$(objext) \
s-dsaser$(objext) \
s-excdeb$(objext) \
s-except$(objext) \
......
......@@ -143,10 +143,10 @@ package Ada.Containers.Doubly_Linked_Lists is
procedure Reverse_Elements (Container : in out List);
function Iterate (Container : List)
return List_Iterator_Interfaces.Reversible_Iterator'class;
return List_Iterator_Interfaces.Reversible_Iterator'Class;
function Iterate (Container : List; Start : Cursor)
return List_Iterator_Interfaces.Reversible_Iterator'class;
return List_Iterator_Interfaces.Reversible_Iterator'Class;
procedure Swap
(Container : in out List;
......
......@@ -368,6 +368,9 @@ package body Impunit is
("s-assert", F), -- System.Assertions
("s-diflio", F), -- System.Dim_Float_IO
("s-diinio", F), -- System.Dim_Integer_IO
("s-dimkio", F), -- System.Dim_Mks_IO
("s-dimmks", F), -- System.Dim_Mks
("s-dmotpr", F), -- System.Dim_Mks.Other_Prefixes
("s-memory", F), -- System.Memory
("s-parint", F), -- System.Partition_Interface
("s-pooglo", F), -- System.Pool_Global
......
------------------------------------------------------------------------------
-- --
-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-- --
-- S Y S T E M . D I M _ M K S _ I O --
-- --
-- S p e c --
-- --
-- Copyright (C) 1992-2011, 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- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNARL was developed by the GNARL team at Florida State University. --
-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-- --
------------------------------------------------------------------------------
-- This package provides IO routines for the MKS dimension system (see
-- System.Dim_Mks).
with System.Dim_Mks; use System.Dim_Mks;
with System.Dim_Float_IO;
package System.Dim_Mks_IO is new System.Dim_Float_IO (Mks_Type);
------------------------------------------------------------------------------
-- --
-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-- --
-- S Y S T E M . D I M _ M K S . O T H E R _ P R E F I X E S --
-- --
-- S p e c --
-- --
-- Copyright (C) 1992-2011, 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- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNARL was developed by the GNARL team at Florida State University. --
-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-- --
------------------------------------------------------------------------------
-- Package that defines some other prefixes for the MKS base unit system.
-- These prefixes have been defined in a child package in order to avoid too
-- many constant declarations in System.Dim_Mks.
package System.Dim_Mks.Other_Prefixes is
-- SI prefixes for Meter
ym : constant Length := 1.0E-24; -- yocto
zm : constant Length := 1.0E-21; -- zepto
am : constant Length := 1.0E-18; -- atto
fm : constant Length := 1.0E-15; -- femto
pm : constant Length := 1.0E-12; -- pico
nm : constant Length := 1.0E-09; -- nano
Gm : constant Length := 1.0E+09; -- giga
Tm : constant Length := 1.0E+12; -- tera
Pem : constant Length := 1.0E+15; -- peta
Em : constant Length := 1.0E+18; -- exa
Zem : constant Length := 1.0E+21; -- zetta
Yom : constant Length := 1.0E+24; -- yotta
-- SI prefixes for Kilogram
yg : constant Mass := 1.0E-27; -- yocto
zg : constant Mass := 1.0E-24; -- zepto
ag : constant Mass := 1.0E-21; -- atto
fg : constant Mass := 1.0E-18; -- femto
pg : constant Mass := 1.0E-15; -- pico
ng : constant Mass := 1.0E-12; -- nano
Gg : constant Mass := 1.0E+06; -- giga
Tg : constant Mass := 1.0E+09; -- tera
Peg : constant Mass := 1.0E+13; -- peta
Eg : constant Mass := 1.0E+15; -- exa
Zeg : constant Mass := 1.0E+18; -- zetta
Yog : constant Mass := 1.0E+21; -- yotta
-- SI prefixes for Second
ys : constant Time := 1.0E-24; -- yocto
zs : constant Time := 1.0E-21; -- zepto
as : constant Time := 1.0E-18; -- atto
fs : constant Time := 1.0E-15; -- femto
ps : constant Time := 1.0E-12; -- pico
ns : constant Time := 1.0E-09; -- nano
Gs : constant Time := 1.0E+09; -- giga
Ts : constant Time := 1.0E+12; -- tera
Pes : constant Time := 1.0E+15; -- peta
Es : constant Time := 1.0E+18; -- exa
Zes : constant Time := 1.0E+21; -- zetta
Yos : constant Time := 1.0E+24; -- yotta
-- SI prefixes for Ampere
yA : constant Electric_Current := 1.0E-24; -- yocto
zA : constant Electric_Current := 1.0E-21; -- zepto
aA : constant Electric_Current := 1.0E-18; -- atto
fA : constant Electric_Current := 1.0E-15; -- femto
nA : constant Electric_Current := 1.0E-09; -- nano
uA : constant Electric_Current := 1.0E-06; -- micro (u)
GA : constant Electric_Current := 1.0E+09; -- giga
TA : constant Electric_Current := 1.0E+12; -- tera
PeA : constant Electric_Current := 1.0E+15; -- peta
EA : constant Electric_Current := 1.0E+18; -- exa
ZeA : constant Electric_Current := 1.0E+21; -- zetta
YoA : constant Electric_Current := 1.0E+24; -- yotta
-- SI prefixes for Kelvin
yK : constant Thermodynamic_Temperature := 1.0E-24; -- yocto
zK : constant Thermodynamic_Temperature := 1.0E-21; -- zepto
aK : constant Thermodynamic_Temperature := 1.0E-18; -- atto
fK : constant Thermodynamic_Temperature := 1.0E-15; -- femto
pK : constant Thermodynamic_Temperature := 1.0E-12; -- pico
nK : constant Thermodynamic_Temperature := 1.0E-09; -- nano
uK : constant Thermodynamic_Temperature := 1.0E-06; -- micro (u)
mK : constant Thermodynamic_Temperature := 1.0E-03; -- milli
cK : constant Thermodynamic_Temperature := 1.0E-02; -- centi
dK : constant Thermodynamic_Temperature := 1.0E-01; -- deci
daK : constant Thermodynamic_Temperature := 1.0E+01; -- deka
hK : constant Thermodynamic_Temperature := 1.0E+02; -- hecto
kK : constant Thermodynamic_Temperature := 1.0E+03; -- kilo
MeK : constant Thermodynamic_Temperature := 1.0E+06; -- mega
GK : constant Thermodynamic_Temperature := 1.0E+09; -- giga
TK : constant Thermodynamic_Temperature := 1.0E+12; -- tera
PeK : constant Thermodynamic_Temperature := 1.0E+15; -- peta
EK : constant Thermodynamic_Temperature := 1.0E+18; -- exa
ZeK : constant Thermodynamic_Temperature := 1.0E+21; -- zetta
YoK : constant Thermodynamic_Temperature := 1.0E+24; -- yotta
-- SI prefixes for Mole
ymol : constant Amount_Of_Substance := 1.0E-24; -- yocto
zmol : constant Amount_Of_Substance := 1.0E-21; -- zepto
amol : constant Amount_Of_Substance := 1.0E-18; -- atto
fmol : constant Amount_Of_Substance := 1.0E-15; -- femto
pmol : constant Amount_Of_Substance := 1.0E-12; -- pico
nmol : constant Amount_Of_Substance := 1.0E-09; -- nano
umol : constant Amount_Of_Substance := 1.0E-06; -- micro (u)
mmol : constant Amount_Of_Substance := 1.0E-03; -- milli
cmol : constant Amount_Of_Substance := 1.0E-02; -- centi
dmol : constant Amount_Of_Substance := 1.0E-01; -- deci
damol : constant Amount_Of_Substance := 1.0E+01; -- deka
hmol : constant Amount_Of_Substance := 1.0E+02; -- hecto
kmol : constant Amount_Of_Substance := 1.0E+03; -- kilo
Memol : constant Amount_Of_Substance := 1.0E+06; -- mega
Gmol : constant Amount_Of_Substance := 1.0E+09; -- giga
Tmol : constant Amount_Of_Substance := 1.0E+12; -- tera
Pemol : constant Amount_Of_Substance := 1.0E+15; -- peta
Emol : constant Amount_Of_Substance := 1.0E+18; -- exa
Zemol : constant Amount_Of_Substance := 1.0E+21; -- zetta
Yomol : constant Amount_Of_Substance := 1.0E+24; -- yotta
-- SI prefixes for Candela
ycd : constant Luminous_Intensity := 1.0E-24; -- yocto
zcd : constant Luminous_Intensity := 1.0E-21; -- zepto
acd : constant Luminous_Intensity := 1.0E-18; -- atto
fcd : constant Luminous_Intensity := 1.0E-15; -- femto
pcd : constant Luminous_Intensity := 1.0E-12; -- pico
ncd : constant Luminous_Intensity := 1.0E-09; -- nano
ucd : constant Luminous_Intensity := 1.0E-06; -- micro (u)
mcd : constant Luminous_Intensity := 1.0E-03; -- milli
ccd : constant Luminous_Intensity := 1.0E-02; -- centi
dcd : constant Luminous_Intensity := 1.0E-01; -- deci
dacd : constant Luminous_Intensity := 1.0E+01; -- deka
hcd : constant Luminous_Intensity := 1.0E+02; -- hecto
kcd : constant Luminous_Intensity := 1.0E+03; -- kilo
Mecd : constant Luminous_Intensity := 1.0E+06; -- mega
Gcd : constant Luminous_Intensity := 1.0E+09; -- giga
Tcd : constant Luminous_Intensity := 1.0E+12; -- tera
Pecd : constant Luminous_Intensity := 1.0E+15; -- peta
Ecd : constant Luminous_Intensity := 1.0E+18; -- exa
Zecd : constant Luminous_Intensity := 1.0E+21; -- zetta
Yocd : constant Luminous_Intensity := 1.0E+24; -- yotta
end System.Dim_Mks.Other_Prefixes;
......@@ -697,15 +697,12 @@ package body System.Task_Primitives.Operations is
-----------
procedure Yield (Do_Yield : Boolean := True) is
pragma Unreferenced (Do_Yield);
begin
-- Note: in a previous implementation if Do_Yield was False, then we
-- introduced a delay of 1 millisecond in an attempt to get closer to
-- annex D semantics, and in particular to make ACATS CXD8002 pass. But
-- this change introduced a huge performance regression evaluating the
-- Count attribute. So we decided to remove this processing and just
-- call SwitchToThread unconditionally (leaving Do_Yield unreferenced).
-- Count attribute. So we decided to remove this processing.
-- Moreover, CXD8002 appears to pass on Windows (although we do not
-- guarantee full Annex D compliance on Windows in any case).
......
......@@ -976,7 +976,10 @@ package body Sem_Cat is
-- Skip if error already posted on the WITH
-- clause (in which case the Name attribute
-- may be invalid).
-- may be invalid). In particular, this fixes
-- the problem of hanging in the presence of a
-- WITH clause on a child that is an illegal
-- generic instantiation.
or else Error_Posted (Item))
then
......
......@@ -2681,8 +2681,8 @@ package body Sem_Ch10 is
pragma Assert (Serious_Errors_Detected /= 0);
-- Mark the node to indicate that a related error has been posted.
-- This defends further compilation passes against cascaded errors
-- caused by the invalid WITH clause node.
-- This defends further compilation passes against improper use of
-- the invalid WITH clause node.
Set_Error_Posted (N);
Set_Name (N, Error);
......
......@@ -7168,11 +7168,13 @@ package body Sem_Ch4 is
-- Find a non-hidden operation whose first parameter is of the
-- class-wide type, a subtype thereof, or an anonymous access
-- to same.
-- to same. If in an instance, the operation can be considered
-- even if hidden (it may be hidden because the instantiation is
-- expanded after the containing package has been analyzed).
while Present (Hom) loop
if Ekind_In (Hom, E_Procedure, E_Function)
and then not Is_Hidden (Hom)
and then (not Is_Hidden (Hom) or else In_Instance)
and then Scope (Hom) = Scope (Anc_Type)
and then Present (First_Formal (Hom))
and then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment