diff options
author | Robert Dewar <dewar@adacore.com> | 2007-12-13 11:22:06 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-12-13 11:22:06 +0100 |
commit | ac4d64074400613b205bba2e6d21272b4c648bc5 (patch) | |
tree | c68ed79f7c2a4dc0ccf8b7d714f6a24bc37734fb /gcc/ada/sinfo.adb | |
parent | f8755021cc57dcd4514ef53a8d8cb5fe4059d1c8 (diff) | |
download | gcc-ac4d64074400613b205bba2e6d21272b4c648bc5.zip gcc-ac4d64074400613b205bba2e6d21272b4c648bc5.tar.gz gcc-ac4d64074400613b205bba2e6d21272b4c648bc5.tar.bz2 |
atree.adb (Flag231..Flag247): New functions
2007-12-06 Robert Dewar <dewar@adacore.com>
* atree.adb (Flag231..Flag247): New functions
(Set_Flag231..Set_Flag247): New procedures
(Basic_Set_Convention): Rename Set_Convention to be
Basic_Set_Convention
(Nkind_In): New functions
Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
* exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
instead
of obsolete function Is_Always_Inlined
(Register_Predefined_DT_Entry): Initialize slots of the second
secondary dispatch table.
Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
(Expand_N_Function_Call): Remove special provision for stack checking.
* exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
Include _Disp_Requeue in the list of predefined operations.
(Find_Interface_ADT): Modified to fulfill the new specification.
Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
* par-ch4.adb, nlists.ads, nlists.adb:
Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
* sinfo.ads, sinfo.adb: (Nkind_In): New functions
Fix location of flag for unrecognized pragma message
* sem_ch7.adb: Use Nkind_In
From-SVN: r130820
Diffstat (limited to 'gcc/ada/sinfo.adb')
-rw-r--r-- | gcc/ada/sinfo.adb | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb index b7bf39e..2baa94b 100644 --- a/gcc/ada/sinfo.adb +++ b/gcc/ada/sinfo.adb @@ -2192,6 +2192,14 @@ package body Sinfo is return List2 (N); end Pragma_Argument_Associations; + function Pragma_Identifier + (N : Node_Id) return Node_Id is + begin + pragma Assert (False + or else NT (N).Nkind = N_Pragma); + return Node4 (N); + end Pragma_Identifier; + function Pragmas_After (N : Node_Id) return List_Id is begin @@ -4915,6 +4923,14 @@ package body Sinfo is Set_List2_With_Parent (N, Val); end Set_Pragma_Argument_Associations; + procedure Set_Pragma_Identifier + (N : Node_Id; Val : Node_Id) is + begin + pragma Assert (False + or else NT (N).Nkind = N_Pragma); + Set_Node4_With_Parent (N, Val); + end Set_Pragma_Identifier; + procedure Set_Pragmas_After (N : Node_Id; Val : List_Id) is begin @@ -5558,4 +5574,120 @@ package body Sinfo is UI_From_Int (Int (S) - Int (Sloc (N)))); end Set_End_Location; + -------------------------------- + -- Node_Kind Membership Tests -- + -------------------------------- + + function Nkind_In + (T : Node_Kind; + V1 : Node_Kind; + V2 : Node_Kind) return Boolean + is + begin + return T = V1 or else + T = V2; + end Nkind_In; + + function Nkind_In + (T : Node_Kind; + V1 : Node_Kind; + V2 : Node_Kind; + V3 : Node_Kind) return Boolean + is + begin + return T = V1 or else + T = V2 or else + T = V3; + end Nkind_In; + + function Nkind_In + (T : Node_Kind; + V1 : Node_Kind; + V2 : Node_Kind; + V3 : Node_Kind; + V4 : Node_Kind) return Boolean + is + begin + return T = V1 or else + T = V2 or else + T = V3 or else + T = V4; + end Nkind_In; + + function Nkind_In + (T : Node_Kind; + V1 : Node_Kind; + V2 : Node_Kind; + V3 : Node_Kind; + V4 : Node_Kind; + V5 : Node_Kind) return Boolean + is + begin + return T = V1 or else + T = V2 or else + T = V3 or else + T = V4 or else + T = V5; + end Nkind_In; + + function Nkind_In + (T : Node_Kind; + V1 : Node_Kind; + V2 : Node_Kind; + V3 : Node_Kind; + V4 : Node_Kind; + V5 : Node_Kind; + V6 : Node_Kind) return Boolean + is + begin + return T = V1 or else + T = V2 or else + T = V3 or else + T = V4 or else + T = V5 or else + T = V6; + end Nkind_In; + + function Nkind_In + (T : Node_Kind; + V1 : Node_Kind; + V2 : Node_Kind; + V3 : Node_Kind; + V4 : Node_Kind; + V5 : Node_Kind; + V6 : Node_Kind; + V7 : Node_Kind) return Boolean + is + begin + return T = V1 or else + T = V2 or else + T = V3 or else + T = V4 or else + T = V5 or else + T = V6 or else + T = V7; + end Nkind_In; + + function Nkind_In + (T : Node_Kind; + V1 : Node_Kind; + V2 : Node_Kind; + V3 : Node_Kind; + V4 : Node_Kind; + V5 : Node_Kind; + V6 : Node_Kind; + V7 : Node_Kind; + V8 : Node_Kind) return Boolean + is + begin + return T = V1 or else + T = V2 or else + T = V3 or else + T = V4 or else + T = V5 or else + T = V6 or else + T = V7 or else + T = V8; + end Nkind_In; + end Sinfo; |