aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/atree.h
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2013-04-11 12:45:11 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2013-04-11 12:45:11 +0200
commitfc142f6327838046dd9d363de53fad60771304e2 (patch)
treea14bcd806f8dac2b6a1d64d38ad4c14ed7f2547b /gcc/ada/atree.h
parent2602b64e3a4072c8819cad2f3abffe2d5ae69de3 (diff)
downloadgcc-fc142f6327838046dd9d363de53fad60771304e2.zip
gcc-fc142f6327838046dd9d363de53fad60771304e2.tar.gz
gcc-fc142f6327838046dd9d363de53fad60771304e2.tar.bz2
[multiple changes]
2013-04-11 Robert Dewar <dewar@adacore.com> * atree.h: Add declarations for Flag255-Flag289 Fix declaration of Field30 (was wrong, but no effect, since not yet referenced by back end) Add declarations for Field31-Field35 Add declarations for Node31-Node35. * einfo.ads, einfo.adb (Has_Invariants): No longer applies to procedures. (Has_Predicates): No longer applies to functions. (Is_Predicate_Function): New flag. (Is_Predicate_Function_M): New flag. (Is_Invariant_Procedure): New flag. (Predicate_Function_M): New function. (Set_Predicate_Function_M): New procedure. * exp_ch11.adb (Expand_N_Raise_Expression): Take care of special case of appearing in predicate used for membership test. * exp_ch3.adb (Insert_Component_Invariant_Checks): Set Is_Invariant_Procedure flag. * exp_ch4.adb (Expand_Op_In): Call special predicate function that takes care of raise_expression nodes in the predicate. * exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for membership case. * sem_ch13.adb (Build_Predicate_Functions): New name for Build_Predicate_Function. Major rewrite to take care of raise expression in predicate for membership tests. * sem_res.adb (Resolve_Actuals): Include both predicate functions in defense against infinite predicate function loops. * sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag. 2013-04-11 Robert Dewar <dewar@adacore.com> * sem_prag.adb: Minor reformatting. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Generate reference for component of anonymous access type. From-SVN: r197766
Diffstat (limited to 'gcc/ada/atree.h')
-rw-r--r--gcc/ada/atree.h88
1 files changed, 86 insertions, 2 deletions
diff --git a/gcc/ada/atree.h b/gcc/ada/atree.h
index 7d88c4d..c9fd5e0 100644
--- a/gcc/ada/atree.h
+++ b/gcc/ada/atree.h
@@ -6,7 +6,7 @@
* *
* C Header File *
* *
- * Copyright (C) 1992-2012, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2013, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -259,6 +259,45 @@ struct Flag_Word4
Boolean flag215 : 1;
};
+/* Structure used for extra flags in sixth component overlaying Field12 */
+struct Flag_Word5
+{
+ Boolean flag255 : 1;
+ Boolean flag256 : 1;
+ Boolean flag257 : 1;
+ Boolean flag258 : 1;
+ Boolean flag259 : 1;
+ Boolean flag260 : 1;
+ Boolean flag261 : 1;
+ Boolean flag262 : 1;
+
+ Boolean flag263 : 1;
+ Boolean flag264 : 1;
+ Boolean flag265 : 1;
+ Boolean flag266 : 1;
+ Boolean flag267 : 1;
+ Boolean flag268 : 1;
+ Boolean flag269 : 1;
+ Boolean flag270 : 1;
+
+ Boolean flag271 : 1;
+ Boolean flag272 : 1;
+ Boolean flag273 : 1;
+ Boolean flag274 : 1;
+ Boolean flag275 : 1;
+ Boolean flag276 : 1;
+ Boolean flag277 : 1;
+ Boolean flag278 : 1;
+
+ Boolean flag279 : 1;
+ Boolean flag280 : 1;
+ Boolean flag281 : 1;
+ Boolean flag282 : 1;
+ Boolean flag283 : 1;
+ Boolean flag284 : 1;
+ Boolean flag285 : 1;
+ Boolean flag286 : 1;
+};
struct Non_Extended
{
Source_Ptr sloc;
@@ -290,6 +329,7 @@ struct Extended
struct Flag_Word fw;
struct Flag_Word2 fw2;
struct Flag_Word4 fw4;
+ struct Flag_Word5 fw5;
} U;
};
@@ -387,7 +427,12 @@ extern Node_Id Current_Error_Node;
#define Field27(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field9)
#define Field28(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field10)
#define Field29(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.field11)
-#define Field30(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field6)
+#define Field30(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.field6)
+#define Field31(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.field7)
+#define Field32(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.field8)
+#define Field33(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.field9)
+#define Field34(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.field10)
+#define Field35(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.X.field11)
#define Node1(N) Field1 (N)
#define Node2(N) Field2 (N)
@@ -419,6 +464,12 @@ extern Node_Id Current_Error_Node;
#define Node28(N) Field28 (N)
#define Node29(N) Field29 (N)
#define Node30(N) Field30 (N)
+#define Node31(N) Field31 (N)
+#define Node32(N) Field32 (N)
+#define Node33(N) Field33 (N)
+#define Node34(N) Field34 (N)
+#define Node35(N) Field35 (N)
+#define Node36(N) Field36 (N)
#define List1(N) Field1 (N)
#define List2(N) Field2 (N)
@@ -742,6 +793,39 @@ extern Node_Id Current_Error_Node;
#define Flag253(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.NK.flag71)
#define Flag254(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.NK.flag72)
+#define Flag255(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag255)
+#define Flag256(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag256)
+#define Flag257(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag257)
+#define Flag258(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag258)
+#define Flag259(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag259)
+#define Flag260(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag260)
+#define Flag261(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag261)
+#define Flag262(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag262)
+#define Flag263(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag263)
+#define Flag264(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag264)
+#define Flag265(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag265)
+#define Flag266(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag266)
+#define Flag267(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag267)
+#define Flag268(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag268)
+#define Flag269(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag269)
+#define Flag270(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag270)
+#define Flag271(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag271)
+#define Flag272(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag272)
+#define Flag273(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag273)
+#define Flag274(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag274)
+#define Flag275(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag275)
+#define Flag276(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag276)
+#define Flag277(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag277)
+#define Flag278(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag278)
+#define Flag279(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag279)
+#define Flag280(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag280)
+#define Flag281(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag281)
+#define Flag282(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag282)
+#define Flag283(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag283)
+#define Flag284(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag284)
+#define Flag285(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag285)
+#define Flag286(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag286)
+
#ifdef __cplusplus
}
#endif