summaryrefslogtreecommitdiff
path: root/gcc/ada/atree.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-14 13:46:36 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-14 13:46:36 +0000
commit006b904aac80b754c25f956a963dc01036a08626 (patch)
treea0283a841af37f2fc802a622bdd4010911b38019 /gcc/ada/atree.adb
parent2c3ae800c05857ca3bbf0718754c657dd27d91f8 (diff)
downloadgcc-006b904aac80b754c25f956a963dc01036a08626.tar.gz
2010-06-14 Robert Dewar <dewar@adacore.com>
* opt.ads (Check_Policy_List): Add some clarifying comments * sem_prag.adb (Analyze_Pragma, case Check): Set Pragma_Enabled flag on rewritten Assert pragma. 2010-06-14 Gary Dismukes <dismukes@adacore.com> * sem_ch6.adb (Check_Overriding_Indicator): Add a special check for controlled operations, so that they will be treated as overriding even if the overridden subprogram is marked Is_Hidden, as long as the overridden subprogram's parent subprogram is not hidden. 2010-06-14 Robert Dewar <dewar@adacore.com> * debug.adb: Entry for gnatw.d no longer specific for while loops * einfo.adb (First_Exit_Statement): New attribute for E_Loop * einfo.ads (First_Exit_Statement): New attribute for E_Loop * sem_ch5.adb (Analyze_Loop_Statement): Check_Infinite_Loop_Warning has new calling sequence to include test for EXIT WHEN. (Analyze_Exit_Statement): Chain EXIT statement into exit statement chain * sem_warn.ads, sem_warn.adb (Check_Infinite_Loop_Warning): Now handles EXIT WHEN case. * sinfo.adb (Next_Exit_Statement): New attribute of N_Exit_Statement node. * sinfo.ads (N_Pragma): Correct comment on Sloc field (points to PRAGMA, not to pragma identifier). (Next_Exit_Statement): New attribute of N_Exit_Statement node 2010-06-14 Robert Dewar <dewar@adacore.com> * sem_res.adb (Resolve_Short_Circuit): Fix sloc of "assertion/check would fail" msg. 2010-06-14 Robert Dewar <dewar@adacore.com> * par-ch2.adb (Scan_Pragma_Argument_Association): Clarify message for missing pragma argument identifier. 2010-06-14 Robert Dewar <dewar@adacore.com> * atree.ads, atree.adb (Ekind_In): New functions 2010-06-14 Robert Dewar <dewar@adacore.com> * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**N in stand alone context 2010-06-14 Robert Dewar <dewar@adacore.com> * usage.adb (Usage): Redo documentation of -gnatwa. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160743 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/atree.adb')
-rw-r--r--gcc/ada/atree.adb98
1 files changed, 98 insertions, 0 deletions
diff --git a/gcc/ada/atree.adb b/gcc/ada/atree.adb
index b22732668a5..de7bd7e9719 100644
--- a/gcc/ada/atree.adb
+++ b/gcc/ada/atree.adb
@@ -766,6 +766,104 @@ package body Atree is
return N_To_E (Nodes.Table (E + 1).Nkind);
end Ekind;
+ --------------
+ -- Ekind_In --
+ --------------
+
+ function Ekind_In
+ (T : Entity_Kind;
+ V1 : Entity_Kind;
+ V2 : Entity_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2;
+ end Ekind_In;
+
+ function Ekind_In
+ (T : Entity_Kind;
+ V1 : Entity_Kind;
+ V2 : Entity_Kind;
+ V3 : Entity_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3;
+ end Ekind_In;
+
+ function Ekind_In
+ (T : Entity_Kind;
+ V1 : Entity_Kind;
+ V2 : Entity_Kind;
+ V3 : Entity_Kind;
+ V4 : Entity_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4;
+ end Ekind_In;
+
+ function Ekind_In
+ (T : Entity_Kind;
+ V1 : Entity_Kind;
+ V2 : Entity_Kind;
+ V3 : Entity_Kind;
+ V4 : Entity_Kind;
+ V5 : Entity_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 Ekind_In;
+
+ function Ekind_In
+ (E : Entity_Id;
+ V1 : Entity_Kind;
+ V2 : Entity_Kind) return Boolean
+ is
+ begin
+ return Ekind_In (Ekind (E), V1, V2);
+ end Ekind_In;
+
+ function Ekind_In
+ (E : Entity_Id;
+ V1 : Entity_Kind;
+ V2 : Entity_Kind;
+ V3 : Entity_Kind) return Boolean
+ is
+ begin
+ return Ekind_In (Ekind (E), V1, V2, V3);
+ end Ekind_In;
+
+ function Ekind_In
+ (E : Entity_Id;
+ V1 : Entity_Kind;
+ V2 : Entity_Kind;
+ V3 : Entity_Kind;
+ V4 : Entity_Kind) return Boolean
+ is
+ begin
+ return Ekind_In (Ekind (E), V1, V2, V3, V4);
+ end Ekind_In;
+
+ function Ekind_In
+ (E : Entity_Id;
+ V1 : Entity_Kind;
+ V2 : Entity_Kind;
+ V3 : Entity_Kind;
+ V4 : Entity_Kind;
+ V5 : Entity_Kind) return Boolean
+ is
+ begin
+ return Ekind_In (Ekind (E), V1, V2, V3, V4, V5);
+ end Ekind_In;
+
------------------
-- Error_Posted --
------------------