diff options
author | Ed Schonberg <schonberg@adacore.com> | 2011-08-02 08:03:11 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-02 10:03:11 +0200 |
commit | 29efbb8cc60bc986c8a761e2a947b84d3e10a9fd (patch) | |
tree | cc6d04605b71c10f4bb506766ca63a1cd24b759c /gcc/ada/sinfo.adb | |
parent | b0186f718a778b98e1c77a8279a10d79e2d83b8d (diff) | |
download | gcc-29efbb8cc60bc986c8a761e2a947b84d3e10a9fd.zip gcc-29efbb8cc60bc986c8a761e2a947b84d3e10a9fd.tar.gz gcc-29efbb8cc60bc986c8a761e2a947b84d3e10a9fd.tar.bz2 |
atree.h, [...]: New subprograms to manipulate Elist5.
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
* par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
* sinfo.ads, sinfo.adb (Used_Operations): new attribute of
use_type_clauses, to handle more efficiently use_type and use_all_type
constructs.
* sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
Ada2012 Use_All_Type clause.
(Use_Class_Wide_Operations): new procedure.
From-SVN: r177090
Diffstat (limited to 'gcc/ada/sinfo.adb')
-rw-r--r-- | gcc/ada/sinfo.adb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb index 4242142..9ac9424 100644 --- a/gcc/ada/sinfo.adb +++ b/gcc/ada/sinfo.adb @@ -3078,6 +3078,14 @@ package body Sinfo is return List2 (N); end Visible_Declarations; + function Used_Operations + (N : Node_Id) return Elist_Id is + begin + pragma Assert (False + or else NT (N).Nkind = N_Use_Type_Clause); + return Elist5 (N); + end Used_Operations; + function Was_Originally_Stub (N : Node_Id) return Boolean is begin @@ -6123,6 +6131,14 @@ package body Sinfo is Set_List2_With_Parent (N, Val); end Set_Visible_Declarations; + procedure Set_Used_Operations + (N : Node_Id; Val : Elist_Id) is + begin + pragma Assert (False + or else NT (N).Nkind = N_Use_Type_Clause); + Set_Elist5 (N, Val); + end Set_Used_Operations; + procedure Set_Was_Originally_Stub (N : Node_Id; Val : Boolean := True) is begin |