aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/decl.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@gcc.gnu.org>2004-07-26 08:23:58 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2004-07-26 08:23:58 +0000
commit63d1c7b35fe104326f278f45daf20743853920bb (patch)
treea52bd0b1bb36a9dba1bfbf17a55c904a10884e28 /gcc/cp/decl.c
parent9b4f6a07a51dd570a2c50fe944e1fbd91f766e76 (diff)
downloadgcc-63d1c7b35fe104326f278f45daf20743853920bb.zip
gcc-63d1c7b35fe104326f278f45daf20743853920bb.tar.gz
gcc-63d1c7b35fe104326f278f45daf20743853920bb.tar.bz2
tree.h (BINFO_BASE_ACCESSES): Accesses are a VEC(tree).
.: * tree.h (BINFO_BASE_ACCESSES): Accesses are a VEC(tree). (BINFO_BASE_ACCESS): Adjust. (BINFO_BASE_ACCESS_APPEND): New. (struct tree_binfo): Make base_accesses a VEC(tree) pointer. * dbxout.c (dbxout_type): Adjust binfo access accessing. * dwarf2out.c (gen_member_die): Likewise. * tree-dump.c (deque_and_dump): Likewise. cp: * decl.c (xref_basetypes): Adjust base access vector creation. * rtti.c (get_pseudo_ti_init, get_pseudo_ti_desc): Adjust base access accesses. * search.c (dynamic_cast_base_recurse, dfs_access_in_type): Likewise. From-SVN: r85187
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r--gcc/cp/decl.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 2a9e61f..f901d98 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -9109,7 +9109,7 @@ xref_basetypes (tree ref, tree base_list)
if (max_bases)
{
- BINFO_BASE_ACCESSES (binfo) = make_tree_vec (max_bases);
+ BINFO_BASE_ACCESSES (binfo) = VEC_alloc (tree, max_bases);
/* An aggregate cannot have baseclasses. */
CLASSTYPE_NON_AGGREGATE (ref) = 1;
@@ -9199,17 +9199,10 @@ xref_basetypes (tree ref, tree base_list)
if (!BINFO_INHERITANCE_CHAIN (base_binfo))
BINFO_INHERITANCE_CHAIN (base_binfo) = binfo;
- TREE_VEC_ELT (BINFO_BASE_ACCESSES (binfo),
- BINFO_N_BASE_BINFOS (binfo)) = access;
BINFO_BASE_APPEND (binfo, base_binfo);
+ BINFO_BASE_ACCESS_APPEND (binfo, access);
}
- if (max_bases)
- /* If any bases were invalid, we will have allocated too many
- slots. */
- TREE_VEC_LENGTH (BINFO_BASE_ACCESSES (binfo))
- = BINFO_N_BASE_BINFOS (binfo);
-
/* Unmark all the types. */
for (i = 0; BINFO_BASE_ITERATE (binfo, i, base_binfo); i++)
CLEAR_CLASSTYPE_MARKED (BINFO_TYPE (base_binfo));