aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2011-04-12 02:18:41 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2011-04-12 02:18:41 +0000
commit648a616b30ab2be76103519a3ed4f7f77a00c947 (patch)
tree0762d9aa5de6a834979e056a73c5dbb8f85cf02a /gcc/tree.c
parentfa21c1fab12bf1a278cd6fce6caec6c47f116318 (diff)
downloadgcc-648a616b30ab2be76103519a3ed4f7f77a00c947.zip
gcc-648a616b30ab2be76103519a3ed4f7f77a00c947.tar.gz
gcc-648a616b30ab2be76103519a3ed4f7f77a00c947.tar.bz2
tree.h (struct typed_tree): New.
* tree.h (struct typed_tree): New. (struct tree_common): Include it instead of tree_base. (TREE_TYPE): Update for new location of type field. (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly. (DECL_USER_ALIGN, DECL_PACKED): Likewise. (union tree_node): Add typed field. * treestruct.def (TS_TYPED): New. * lto-streamer.c (check_handled_ts_structures): Handle it. * tree.c (MARK_TS_TYPED): New macro. (MARK_TS_COMMON): Call it instead of MARK_TS_BASE. From-SVN: r172295
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index cf6fa50..e137aad 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -357,9 +357,15 @@ initialize_tree_contains_struct (void)
tree_contains_struct[C][TS_BASE] = 1; \
} while (0)
-#define MARK_TS_COMMON(C) \
+#define MARK_TS_TYPED(C) \
do { \
MARK_TS_BASE (C); \
+ tree_contains_struct[C][TS_TYPED] = 1; \
+ } while (0)
+
+#define MARK_TS_COMMON(C) \
+ do { \
+ MARK_TS_TYPED (C); \
tree_contains_struct[C][TS_COMMON] = 1; \
} while (0)