diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2004-02-09 15:56:05 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2004-02-09 15:56:05 +0100 |
commit | 2e0717349d7cb5660d38c281ab6c65d5e01fa8fc (patch) | |
tree | 9d8577ad0140661a3b83d8e92d9d61821ae41213 /gcc/ada/lib-load.adb | |
parent | 77077b39cb4b8bf659af916a7a055413afb41e9e (diff) | |
download | gcc-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.adb | 28 |
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. |