aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2017-08-17 12:47:30 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2017-08-17 12:47:30 +0000
commit0fc81d78f9e97d0fb9b7a6c051189758b1d2ab01 (patch)
tree440e20b103f664c94f51c3c8107ce4b238667b83 /gcc/cp
parent157d38bafa44f8f53001b96c9a5d41bb9bf1d57a (diff)
downloadgcc-0fc81d78f9e97d0fb9b7a6c051189758b1d2ab01.zip
gcc-0fc81d78f9e97d0fb9b7a6c051189758b1d2ab01.tar.gz
gcc-0fc81d78f9e97d0fb9b7a6c051189758b1d2ab01.tar.bz2
cp-tree.h (struct lang_type): Remove template_info field.
* cp-tree.h (struct lang_type): Remove template_info field. (CLASSTYPE_TEMPLATE_INFO): Use TYPE_LANG_SLOT_1. (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise. From-SVN: r251148
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/cp-tree.h13
2 files changed, 13 insertions, 6 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 3fd74bf..2ab058d 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2017-08-17 Nathan Sidwell <nathan@acm.org>
+
+ * cp-tree.h (struct lang_type): Remove template_info field.
+ (CLASSTYPE_TEMPLATE_INFO): Use TYPE_LANG_SLOT_1.
+ (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise.
+
2017-08-14 Martin Sebor <msebor@redhat.com>
PR c/81117
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 6c4153d..f6b0b92 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -471,9 +471,12 @@ extern GTY(()) tree cp_global_trees[CPTI_MAX];
At present, only the six low-order bits are used.
TYPE_LANG_SLOT_1
+ For a FUNCTION_TYPE or METHOD_TYPE, this is TYPE_RAISES_EXCEPTIONS.
+ For a POINTER_TYPE (to a METHOD_TYPE), this is TYPE_PTRMEMFUNC_TYPE.
For an ENUMERAL_TYPE, this is ENUM_TEMPLATE_INFO.
- For a FUNCTION_TYPE or METHOD_TYPE, this is TYPE_RAISES_EXCEPTIONS
- For a POINTER_TYPE (to a METHOD_TYPE), this is TYPE_PTRMEMFUNC_TYPE
+ For a RECORD_TYPE or UNION_TYPE this is CLASSTYPE_TEMPLATE_INFO,
+ For a BOUND_TEMPLATE_TEMPLATE_PARM_TYPE this is also
+ TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
BINFO_VIRTUALS
For a binfo, this is a TREE_LIST. There is an entry for each
@@ -2001,7 +2004,6 @@ struct GTY(()) lang_type {
vec<tree, va_gc> * GTY((reorder ("resort_type_method_vec"))) methods;
tree key_method;
tree decl_list;
- tree template_info;
tree befriending_classes;
/* In a RECORD_TYPE, information specific to Objective-C++, such
as a list of adopted protocols or a pointer to a corresponding
@@ -3276,7 +3278,7 @@ extern void decl_shadowed_for_var_insert (tree, tree);
/* Template information for a RECORD_TYPE or UNION_TYPE. */
#define CLASSTYPE_TEMPLATE_INFO(NODE) \
- (LANG_TYPE_CLASS_CHECK (RECORD_OR_UNION_CHECK (NODE))->template_info)
+ (TYPE_LANG_SLOT_1 (RECORD_OR_UNION_CHECK (NODE)))
/* Template information for an ENUMERAL_TYPE. Although an enumeration may
not be a primary template, it may be declared within the scope of a
@@ -3287,8 +3289,7 @@ extern void decl_shadowed_for_var_insert (tree, tree);
/* Template information for a template template parameter. */
#define TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO(NODE) \
- (LANG_TYPE_CLASS_CHECK (BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK (NODE)) \
- ->template_info)
+ (TYPE_LANG_SLOT_1 (BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK (NODE)))
/* Template information for an ENUMERAL_, RECORD_, UNION_TYPE, or
BOUND_TEMPLATE_TEMPLATE_PARM type. This ignores any alias