diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-04-11 12:45:11 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-04-11 12:45:11 +0200 |
commit | fc142f6327838046dd9d363de53fad60771304e2 (patch) | |
tree | a14bcd806f8dac2b6a1d64d38ad4c14ed7f2547b /gcc/ada/atree.h | |
parent | 2602b64e3a4072c8819cad2f3abffe2d5ae69de3 (diff) | |
download | gcc-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.h | 88 |
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 |