diff options
author | Javier Miranda <miranda@adacore.com> | 2005-06-16 10:42:20 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2005-06-16 10:42:20 +0200 |
commit | e9437007b8d68b91b2d1ac803f8938c54b6c4188 (patch) | |
tree | 394b0f483b526345d7b13eec1043d26e3b4ee815 /gcc/ada/lib-load.ads | |
parent | d37209bffbef004f2de1040b938ae0d1eeb493aa (diff) | |
download | gcc-e9437007b8d68b91b2d1ac803f8938c54b6c4188.tar.gz |
lib-load.ads, [...] (Load_Unit): Addition of a new parameter that indicates if...
2005-06-14 Javier Miranda <miranda@adacore.com>
Jose Ruiz <ruiz@adacore.com>
Robert Dewar <dewar@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
that indicates if we are parsing a compilation unit found in a
limited-with clause.
It is use to avoid the circularity check.
* par.ads, par.adb (Par): Addition of a new parameter to indicate if
we are parsing a compilation unit found in a limited-with clause. This
is use to avoid the circularity check.
* par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
unit as a consequence of parsing a limited-with clause. This is used
to avoid the circularity check.
* sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
(Analyze_Context): Limited-with clauses are now allowed
in more compilation units.
(Analyze_Subunit_Context, Check_Parent): Protect the frontend
againts previously reported critical errors in context clauses
(Install_Limited_Withed_Unit): Code cleanup plus static detection
of two further errors: renamed subprograms and renamed packages
are not allowed in limited with clauses.
(Install_Siblings): Do not install private_with_clauses on the package
declaration for a non-private child unit.
(Re_Install_Parents): When a parent of the subunit is reinstalled,
reset visibility of child units properly.
(Install_Withed_Unit): When a child unit appears in a with_clause of its
parent, it is immediately visible.
From-SVN: r101045
Diffstat (limited to 'gcc/ada/lib-load.ads')
-rw-r--r-- | gcc/ada/lib-load.ads | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/gcc/ada/lib-load.ads b/gcc/ada/lib-load.ads index 662fe8f2e72..afc8f38be70 100644 --- a/gcc/ada/lib-load.ads +++ b/gcc/ada/lib-load.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2004, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- -- -- GNAT 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- -- @@ -104,12 +104,13 @@ package Lib.Load is -- and then closed on return. function Load_Unit - (Load_Name : Unit_Name_Type; - Required : Boolean; - Error_Node : Node_Id; - Subunit : Boolean; - Corr_Body : Unit_Number_Type := No_Unit; - Renamings : Boolean := False) return Unit_Number_Type; + (Load_Name : Unit_Name_Type; + Required : Boolean; + Error_Node : Node_Id; + Subunit : Boolean; + Corr_Body : Unit_Number_Type := No_Unit; + Renamings : Boolean := False; + From_Limited_With : Boolean := False) return Unit_Number_Type; -- This function loads and parses the unit specified by Load_Name (or -- returns the unit number for the previously constructed units table -- entry if this is not the first call for this unit). Required indicates @@ -147,6 +148,10 @@ package Lib.Load is -- described in the documentation of this unit. If this parameter is -- set to True, then Load_Name may not be the real unit name and it -- is necessary to load parents to find the real name. + -- + -- From_Limited_With is True if we are loading a unit X found in a + -- limited-with clause, or some unit in the context of X. It is used to + -- avoid the check on circular dependency (Ada 2005, AI-50217) function Create_Dummy_Package_Unit (With_Node : Node_Id; |