aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/atree.h
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-01-21 08:47:43 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2014-01-21 08:47:43 +0100
commit4bcf68150f3205da124e9ea303444ebbcb22c151 (patch)
tree6a5905648b64368c86fe9569e960384b27f0aa55 /gcc/ada/atree.h
parent721ee6cf8ed7f7b67a4f90d29c2e92b39b5ddf95 (diff)
downloadgcc-4bcf68150f3205da124e9ea303444ebbcb22c151.zip
gcc-4bcf68150f3205da124e9ea303444ebbcb22c151.tar.gz
gcc-4bcf68150f3205da124e9ea303444ebbcb22c151.tar.bz2
[multiple changes]
2014-01-21 Robert Dewar <dewar@adacore.com> * gcc-interface/gigi.h: Get Flags array address. * gcc-interface/trans.c: Acquire Flags array address. * atree.adb: Add support for Flags array and Flag0,1,2,3. * atree.ads: Add support for Flags array and Flag0,1,2,3. * atree.h: Add support for Flags array and Flag0,1,2,3. * back_end.adb: Pass Flags array address to gigi. 2014-01-21 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Attribute_Renaming): Transfer original attribute reference to generated body so that legality checks on stream attributes are properly applied. If type is tagged and already frozen, insert generated body at the point of the renaming declaration. 2014-01-21 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb: Code clean up. * sem_ch8.adb: Minor reformatting From-SVN: r206870
Diffstat (limited to 'gcc/ada/atree.h')
-rw-r--r--gcc/ada/atree.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ada/atree.h b/gcc/ada/atree.h
index c9fd5e0..f391385 100644
--- a/gcc/ada/atree.h
+++ b/gcc/ada/atree.h
@@ -359,6 +359,21 @@ extern struct Node *Nodes_Ptr;
#define Parent atree__parent
extern Node_Id Parent (Node_Id);
+/* The auxiliary flags array which is allocated in parallel to Nodes */
+
+struct Flags
+{
+ Boolean Flag0 : 1;
+ Boolean Flag1 : 1;
+ Boolean Flag2 : 1;
+ Boolean Flag3 : 1;
+ Boolean Spare0 : 1;
+ Boolean Spare1 : 1;
+ Boolean Spare2 : 1;
+ Boolean Spare3 : 1;
+};
+extern struct Flags *Flags_Ptr;
+
/* Overloaded Functions:
These functions are overloaded in the original Ada source, but there is
@@ -531,6 +546,11 @@ extern Node_Id Current_Error_Node;
#define Convention(N) \
(Nodes_Ptr[(N) - First_Node_Id + 2].V.EX.U.fw.convention)
+#define Flag0(N) (Flags_Ptr[(N) - First_Node_Id].Flag0)
+#define Flag1(N) (Flags_Ptr[(N) - First_Node_Id].Flag1)
+#define Flag2(N) (Flags_Ptr[(N) - First_Node_Id].Flag2)
+#define Flag3(N) (Flags_Ptr[(N) - First_Node_Id].Flag3)
+
#define Flag4(N) (Nodes_Ptr[(N) - First_Node_Id].U.K.flag4)
#define Flag5(N) (Nodes_Ptr[(N) - First_Node_Id].U.K.flag5)
#define Flag6(N) (Nodes_Ptr[(N) - First_Node_Id].U.K.flag6)