summaryrefslogtreecommitdiff
path: root/gcc/ada/lib-load.ads
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2005-06-16 10:42:20 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2005-06-16 10:42:20 +0200
commite9437007b8d68b91b2d1ac803f8938c54b6c4188 (patch)
tree394b0f483b526345d7b13eec1043d26e3b4ee815 /gcc/ada/lib-load.ads
parentd37209bffbef004f2de1040b938ae0d1eeb493aa (diff)
downloadgcc-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.ads19
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;