aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/lib-load.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2004-02-09 15:56:05 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2004-02-09 15:56:05 +0100
commit2e0717349d7cb5660d38c281ab6c65d5e01fa8fc (patch)
tree9d8577ad0140661a3b83d8e92d9d61821ae41213 /gcc/ada/lib-load.adb
parent77077b39cb4b8bf659af916a7a055413afb41e9e (diff)
downloadgcc-2e0717349d7cb5660d38c281ab6c65d5e01fa8fc.zip
gcc-2e0717349d7cb5660d38c281ab6c65d5e01fa8fc.tar.gz
gcc-2e0717349d7cb5660d38c281ab6c65d5e01fa8fc.tar.bz2
[multiple changes]
2004-02-09 Ed Schonberg <schonberg@gnat.com> * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality for a tagged type, verify that both formals have the same type. * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the temporary when the formal is an in-parameter and the actual a possibly unaligned slice. * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even when expansion is disabled, to ensure proper name capture with overloaded literals. Condition can be of any boolean type, resolve accordingly. * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the renaming is for a formal subprogram with a default operator name, and there is a usable operator that is visible at the point of instantiation. 2004-02-09 Robert Dewar <dewar@gnat.com> * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major rewrite to ignore errors in ali files, intended to allow tools downward compatibility with new versions of ali files. * ali.ads: Add new parameter Ignore_Errors * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes duplicating the error message giving the file with restrictions. * debug.adb: Add debug flag I for gnatbind * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around operators for the case where the operator is a defining operator. * exp_ch3.adb: Minor reformatting (new function spec format). * exp_ch4.adb: Add comment for previous change, and make minor adjustment to loop to always check for improper loop termination. Minor reformatting throughout (new function spec format). * gnatbind.adb: Implement -di debug flag for gnatbind * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True * lib-load.adb: Fix bad assertion. Found by testing and code reading. Minor reformatting. * lib-load.ads: Minor reformatting. * lib-writ.adb: There is only one R line now. * lib-writ.ads: Add documentation on making downward compatible changes to ali files so old tools work with new ali files. There is only one R line now. Add documentation on format incompatibilities (with special GPS note) * namet.ads, namet.adb: (Is_Operator_Name): New procedure * par-load.adb: Minor reformatting * sem_ch8.adb: Fix to error message from last update Minor reformatting and restructuring of code from last update * par-prag.adb, snames.adb, snames.ads, snames.h, sem_prag.adb: Implement pragma Profile. * stylesw.adb: Implement -gnatyN switch to turn off all style check options. * usage.adb: Add line for -gnatyN switch * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN From-SVN: r77537
Diffstat (limited to 'gcc/ada/lib-load.adb')
-rw-r--r--gcc/ada/lib-load.adb28
1 files changed, 10 insertions, 18 deletions
diff --git a/gcc/ada/lib-load.adb b/gcc/ada/lib-load.adb
index fbb50af..212c465 100644
--- a/gcc/ada/lib-load.adb
+++ b/gcc/ada/lib-load.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2004 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- --
@@ -55,8 +55,7 @@ package body Lib.Load is
function Spec_Is_Irrelevant
(Spec_Unit : Unit_Number_Type;
- Body_Unit : Unit_Number_Type)
- return Boolean;
+ Body_Unit : Unit_Number_Type) return Boolean;
-- The Spec_Unit and Body_Unit parameters are the unit numbers of the
-- spec file that corresponds to the main unit which is a body. This
-- function determines if the spec file is irrelevant and will be
@@ -73,8 +72,7 @@ package body Lib.Load is
function Create_Dummy_Package_Unit
(With_Node : Node_Id;
- Spec_Name : Unit_Name_Type)
- return Unit_Number_Type
+ Spec_Name : Unit_Name_Type) return Unit_Number_Type
is
Unum : Unit_Number_Type;
Cunit_Entity : Entity_Id;
@@ -100,9 +98,6 @@ package body Lib.Load is
-- Child package
else
-
- -- Nkind (Name (With_Node)) = N_Expanded_Name
-
Cunit_Entity :=
Make_Defining_Identifier (No_Location,
Chars => Chars (Selector_Name (Name (With_Node))));
@@ -117,7 +112,6 @@ package body Lib.Load is
Make_Designator (No_Location,
Name => New_Copy_Tree (Prefix (Name (With_Node))),
Identifier => New_Occurrence_Of (Cunit_Entity, No_Location));
-
end if;
Set_Scope (Cunit_Entity, Standard_Standard);
@@ -213,7 +207,6 @@ package body Lib.Load is
Units.Table (Main_Unit).Unit_File_Name := Fname;
if Fname /= No_File then
-
Main_Source_File := Load_Source_File (Fname);
Current_Error_Source_File := Main_Source_File;
@@ -249,8 +242,7 @@ package body Lib.Load is
Error_Node : Node_Id;
Subunit : Boolean;
Corr_Body : Unit_Number_Type := No_Unit;
- Renamings : Boolean := False)
- return Unit_Number_Type
+ Renamings : Boolean := False) return Unit_Number_Type
is
Calling_Unit : Unit_Number_Type;
Uname_Actual : Unit_Name_Type;
@@ -340,14 +332,14 @@ package body Lib.Load is
Par := Prefix (Par);
end loop;
- if Nkind (Par) = N_Selected_Component then
- -- some intermediate parent is a renaming.
+ -- Case of some intermediate parent is a renaming
+ if Nkind (Par) = N_Selected_Component then
Set_Entity (Selector_Name (Par), Cunit_Entity (Unump));
- else
- -- the ultimate parent is a renaming.
+ -- Case where the ultimate parent is a renaming
+ else
Set_Entity (Par, Cunit_Entity (Unump));
end if;
end;
@@ -705,11 +697,11 @@ package body Lib.Load is
function Spec_Is_Irrelevant
(Spec_Unit : Unit_Number_Type;
- Body_Unit : Unit_Number_Type)
- return Boolean
+ Body_Unit : Unit_Number_Type) return Boolean
is
Sunit : constant Node_Id := Cunit (Spec_Unit);
Bunit : constant Node_Id := Cunit (Body_Unit);
+
begin
-- The spec is irrelevant if the body is a subprogram body, and the
-- spec is other than a subprogram spec or generic subprogram spec.