From: Nathan Sidwell Date: Thu, 17 Aug 2017 12:47:30 +0000 (+0000) Subject: cp-tree.h (struct lang_type): Remove template_info field. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0fc81d78f9e97d0fb9b7a6c051189758b1d2ab01;p=gcc.git 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 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3fd74bfc196..2ab058dfe01 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2017-08-17 Nathan Sidwell + + * 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 PR c/81117 diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 6c4153d558b..f6b0b9214a6 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 * 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