aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.adb
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2011-08-02 08:03:11 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2011-08-02 10:03:11 +0200
commit29efbb8cc60bc986c8a761e2a947b84d3e10a9fd (patch)
treecc6d04605b71c10f4bb506766ca63a1cd24b759c /gcc/ada/sinfo.adb
parentb0186f718a778b98e1c77a8279a10d79e2d83b8d (diff)
downloadgcc-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.adb16
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