Commit bd7eccc4 by Nathan Sidwell Committed by Nathan Sidwell

* pt.c (tsubst) <TREE_BINFO case>: We should never get here.

From-SVN: r84810
parent f1286257
2004-07-16 Nathan Sidwell <nathan@codesourcery.com>
* pt.c (tsubst) <TREE_BINFO case>: We should never get here.
2004-07-15 Mark Mitchell <mark@codesourcery.com> 2004-07-15 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (lang_type_class): Remove has_real_assign_ref and * cp-tree.h (lang_type_class): Remove has_real_assign_ref and
...@@ -432,10 +436,10 @@ ...@@ -432,10 +436,10 @@
push_base_cleanups): Likewise. push_base_cleanups): Likewise.
* method.c (do_build_copy_constructor, do_build_assign_reg, * method.c (do_build_copy_constructor, do_build_assign_reg,
synthesize_exception_spec): Likewise. synthesize_exception_spec): Likewise.
* name-lookup.c (arg_assoc_class): * name-lookup.c (arg_assoc_class): Likewise.
* pt.c (instantiate_class_template, tsubst, * pt.c (instantiate_class_template, tsubst,
get_template_base_recursive): get_template_base_recursive): Likewise.
* ptree.c (cxx_print_type): * ptree.c (cxx_print_type): Likewise.
* rtti.c (get_psuedo_ti_init, get_pseudo_ti_desc): Likewise. * rtti.c (get_psuedo_ti_init, get_pseudo_ti_desc): Likewise.
* search.c (lookup_base_r, dynamic_cast_base_recurse, * search.c (lookup_base_r, dynamic_cast_base_recurse,
dfs_access_in_type, access_in_type, lookup_field_queue_p, dfs_access_in_type, access_in_type, lookup_field_queue_p,
......
...@@ -6890,25 +6890,8 @@ tsubst (tree t, tree args, tsubst_flags_t complain, tree in_decl) ...@@ -6890,25 +6890,8 @@ tsubst (tree t, tree args, tsubst_flags_t complain, tree in_decl)
} }
case TREE_BINFO: case TREE_BINFO:
/* A binfo node. We always need to make a copy, of the node /* We should never be tsubsting a binfo. */
itself and of its BINFO_BASE_BINFOS. */ abort ();
my_friendly_assert (type, 20040628);
t = copy_node (t);
/* Make sure type isn't a typedef copy. */
type = BINFO_TYPE (TYPE_BINFO (type));
TREE_TYPE (t) = complete_type (type);
if (IS_AGGR_TYPE (type))
{
BINFO_VTABLE (t) = BINFO_VTABLE (TYPE_BINFO (type));
BINFO_VIRTUALS (t) = BINFO_VIRTUALS (TYPE_BINFO (type));
if (BINFO_BASE_BINFOS (TYPE_BINFO (type)) != NULL_TREE)
BINFO_BASE_BINFOS (t)
= copy_node (BINFO_BASE_BINFOS (TYPE_BINFO (type)));
}
return t;
case TREE_VEC: case TREE_VEC:
/* A vector of template arguments. */ /* A vector of template arguments. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment