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.ads | |
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.ads')
-rw-r--r-- | gcc/ada/sinfo.ads | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads index a4ccd62e..8d1b51e 100644 --- a/gcc/ada/sinfo.ads +++ b/gcc/ada/sinfo.ads @@ -1804,6 +1804,12 @@ package Sinfo is -- the body, so this flag is used to generate the proper message (see -- Sem_Util.Check_Unused_Withs for details) + -- Used_Operations (Elist5-Sem) + -- Present in N_Use_Type_Clause nodes. Holds the list of operations that + -- are made potentially use-visible by the clause. Simplifies processing + -- on exit from the scope of the use_type_clause, in particular in the + -- case of Use_All_Type, when those operations several scopes. + -- Was_Originally_Stub (Flag13-Sem) -- This flag is set in the node for a proper body that replaces stub. -- During the analysis procedure, stubs in some situations get rewritten @@ -4913,6 +4919,7 @@ package Sinfo is -- Subtype_Marks (List2) -- Next_Use_Clause (Node3-Sem) -- Hidden_By_Use_Clause (Elist4-Sem) + -- Used_Operations (Elist5-Sem) -- All_Present (Flag15) ------------------------------- @@ -8960,6 +8967,9 @@ package Sinfo is function Visible_Declarations (N : Node_Id) return List_Id; -- List2 + function Used_Operations + (N : Node_Id) return Elist_Id; -- Elist5 + function Was_Originally_Stub (N : Node_Id) return Boolean; -- Flag13 @@ -9932,6 +9942,9 @@ package Sinfo is procedure Set_Visible_Declarations (N : Node_Id; Val : List_Id); -- List2 + procedure Set_Used_Operations + (N : Node_Id; Val : Elist_Id); -- Elist5 + procedure Set_Was_Originally_Stub (N : Node_Id; Val : Boolean := True); -- Flag13 @@ -11993,6 +12006,7 @@ package Sinfo is pragma Inline (Variant_Part); pragma Inline (Variants); pragma Inline (Visible_Declarations); + pragma Inline (Used_Operations); pragma Inline (Was_Originally_Stub); pragma Inline (Withed_Body); pragma Inline (Zero_Cost_Handling); @@ -12313,6 +12327,7 @@ package Sinfo is pragma Inline (Set_Variant_Part); pragma Inline (Set_Variants); pragma Inline (Set_Visible_Declarations); + pragma Inline (Set_Used_Operations); pragma Inline (Set_Was_Originally_Stub); pragma Inline (Set_Withed_Body); pragma Inline (Set_Zero_Cost_Handling); |