aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorRichard Biener <rguenth@gcc.gnu.org>2012-08-21 10:03:38 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-08-21 10:03:38 +0000
commitc1aaec5bf88a551100211db824f9a5666d25c2b8 (patch)
tree5d388d9b3940ec295a06b72282eb23fb4a67ac18 /gcc/cp
parent12d876079acd2a3dddc519467eeb4cc00219b1cc (diff)
downloadgcc-c1aaec5bf88a551100211db824f9a5666d25c2b8.zip
gcc-c1aaec5bf88a551100211db824f9a5666d25c2b8.tar.gz
gcc-c1aaec5bf88a551100211db824f9a5666d25c2b8.tar.bz2
cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
2012-08-21 Richard Guenther <rguenther@suse.de> cp/ * cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor. (ATTR_IS_DEPENDENT): Likewise. (ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of TREE_LANG_FLAG_0 on TREE_VECs. * tree.h (struct tree_base): Add union to make it possible to re-use the upper 4 bytes for tree codes that do not need as many flags as others. Move visited and default_def_flag to common bits section in exchange for saturating_flag and unsigned_flag. Add SSA name version and tree vec length fields here. (struct tree_vec): Remove length field here. (struct tree_ssa_name): Remove version field here. From-SVN: r190558
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/cp-tree.h6
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 2ac0deb..0d9de13 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2012-08-21 Richard Guenther <rguenther@suse.de>
+
+ * cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
+ (ATTR_IS_DEPENDENT): Likewise.
+ (ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of
+ TREE_LANG_FLAG_0 on TREE_VECs.
+
2012-08-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/10416
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index f3dccf9..54615bb 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -2520,11 +2520,11 @@ struct GTY((variable_size)) lang_decl {
/* In a TREE_LIST concatenating using directives, indicate indirect
directives */
-#define TREE_INDIRECT_USING(NODE) (TREE_LIST_CHECK (NODE)->base.lang_flag_0)
+#define TREE_INDIRECT_USING(NODE) TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE))
/* In a TREE_LIST in an attribute list, indicates that the attribute
must be applied at instantiation time. */
-#define ATTR_IS_DEPENDENT(NODE) (TREE_LIST_CHECK (NODE)->base.lang_flag_0)
+#define ATTR_IS_DEPENDENT(NODE) TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE))
extern tree decl_shadowed_for_var_lookup (tree);
extern void decl_shadowed_for_var_insert (tree, tree);
@@ -2881,7 +2881,7 @@ extern void decl_shadowed_for_var_insert (tree, tree);
arguments will be placed into the beginning of the argument pack,
but additional arguments might still be deduced. */
#define ARGUMENT_PACK_INCOMPLETE_P(NODE) \
- TREE_LANG_FLAG_0 (ARGUMENT_PACK_ARGS (NODE))
+ TREE_ADDRESSABLE (ARGUMENT_PACK_ARGS (NODE))
/* When ARGUMENT_PACK_INCOMPLETE_P, stores the explicit template
arguments used to fill this pack. */