aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/class.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/class.c')
-rw-r--r--gcc/cp/class.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index df0587e..2f2bd23 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -887,7 +887,7 @@ add_method (tree type, tree method)
tree overload;
bool template_conv_p = false;
bool conv_p;
- VEC(tree) *method_vec;
+ VEC(tree,gc) *method_vec;
bool complete_p;
bool insert_p = false;
tree current_fns;
@@ -909,7 +909,7 @@ add_method (tree type, tree method)
allocate at least two (for constructors and destructors), and
we're going to end up with an assignment operator at some
point as well. */
- method_vec = VEC_alloc (tree, 8);
+ method_vec = VEC_alloc (tree, gc, 8);
/* Create slots for constructors and destructors. */
VEC_quick_push (tree, method_vec, NULL_TREE);
VEC_quick_push (tree, method_vec, NULL_TREE);
@@ -1052,7 +1052,7 @@ add_method (tree type, tree method)
{
/* We only expect to add few methods in the COMPLETE_P case, so
just make room for one more method in that case. */
- if (VEC_reserve (tree, method_vec, complete_p ? 1 : -1))
+ if (VEC_reserve (tree, gc, method_vec, complete_p ? -1 : 1))
CLASSTYPE_METHOD_VEC (type) = method_vec;
if (slot == VEC_length (tree, method_vec))
VEC_quick_push (tree, method_vec, overload);
@@ -1663,7 +1663,7 @@ resort_type_method_vec (void* obj,
gt_pointer_operator new_value,
void* cookie)
{
- VEC(tree) *method_vec = (VEC(tree) *) obj;
+ VEC(tree,gc) *method_vec = (VEC(tree,gc) *) obj;
int len = VEC_length (tree, method_vec);
size_t slot;
tree fn;
@@ -1695,7 +1695,7 @@ static void
finish_struct_methods (tree t)
{
tree fn_fields;
- VEC(tree) *method_vec;
+ VEC(tree,gc) *method_vec;
int slot, len;
method_vec = CLASSTYPE_METHOD_VEC (t);
@@ -1814,7 +1814,7 @@ typedef struct find_final_overrider_data_s {
/* The candidate overriders. */
tree candidates;
/* Path to most derived. */
- VEC (tree) *path;
+ VEC(tree,heap) *path;
} find_final_overrider_data;
/* Add the overrider along the current path to FFOD->CANDIDATES.
@@ -1873,7 +1873,7 @@ dfs_find_final_overrider_pre (tree binfo, void *data)
if (binfo == ffod->declaring_base)
dfs_find_final_overrider_1 (binfo, ffod, VEC_length (tree, ffod->path));
- VEC_safe_push (tree, ffod->path, binfo);
+ VEC_safe_push (tree, heap, ffod->path, binfo);
return NULL_TREE;
}
@@ -1922,12 +1922,12 @@ find_final_overrider (tree derived, tree binfo, tree fn)
ffod.fn = fn;
ffod.declaring_base = binfo;
ffod.candidates = NULL_TREE;
- ffod.path = VEC_alloc (tree, 30);
+ ffod.path = VEC_alloc (tree, heap, 30);
dfs_walk_all (derived, dfs_find_final_overrider_pre,
dfs_find_final_overrider_post, &ffod);
- VEC_free (tree, ffod.path);
+ VEC_free (tree, heap, ffod.path);
/* If there was no winner, issue an error message. */
if (!ffod.candidates || TREE_CHAIN (ffod.candidates))
@@ -1946,7 +1946,7 @@ find_final_overrider (tree derived, tree binfo, tree fn)
static tree
get_vcall_index (tree fn, tree type)
{
- VEC (tree_pair_s) *indices = CLASSTYPE_VCALL_INDICES (type);
+ VEC(tree_pair_s,gc) *indices = CLASSTYPE_VCALL_INDICES (type);
tree_pair_p p;
unsigned ix;
@@ -2350,7 +2350,7 @@ check_for_override (tree decl, tree ctype)
void
warn_hidden (tree t)
{
- VEC(tree) *method_vec = CLASSTYPE_METHOD_VEC (t);
+ VEC(tree,gc) *method_vec = CLASSTYPE_METHOD_VEC (t);
tree fns;
size_t i;
@@ -3200,7 +3200,7 @@ walk_subobject_offsets (tree type,
if (abi_version_at_least (2) && CLASSTYPE_VBASECLASSES (type))
{
unsigned ix;
- VEC (tree) *vbases;
+ VEC(tree,gc) *vbases;
/* Iterate through the virtual base classes of TYPE. In G++
3.2, we included virtual bases in the direct base class
@@ -3678,7 +3678,7 @@ check_methods (tree t)
{
TYPE_POLYMORPHIC_P (t) = 1;
if (DECL_PURE_VIRTUAL_P (x))
- VEC_safe_push (tree, CLASSTYPE_PURE_VIRTUALS (t), x);
+ VEC_safe_push (tree, gc, CLASSTYPE_PURE_VIRTUALS (t), x);
}
/* All user-declared destructors are non-trivial. */
if (DECL_DESTRUCTOR_P (x))
@@ -4202,7 +4202,7 @@ static void
fixup_inline_methods (tree type)
{
tree method = TYPE_METHODS (type);
- VEC (tree) *friends;
+ VEC(tree,gc) *friends;
unsigned ix;
if (method && TREE_CODE (method) == TREE_VEC)
@@ -4370,7 +4370,7 @@ static tree
end_of_class (tree t, int include_virtuals_p)
{
tree result = size_zero_node;
- VEC (tree) *vbases;
+ VEC(tree,gc) *vbases;
tree binfo;
tree base_binfo;
tree offset;
@@ -4417,7 +4417,7 @@ static void
warn_about_ambiguous_bases (tree t)
{
int i;
- VEC (tree) *vbases;
+ VEC(tree,gc) *vbases;
tree basetype;
tree binfo;
tree base_binfo;
@@ -5129,7 +5129,7 @@ finish_struct (tree t, tree attributes)
CLASSTYPE_PURE_VIRTUALS (t) = NULL;
for (x = TYPE_METHODS (t); x; x = TREE_CHAIN (x))
if (DECL_PURE_VIRTUAL_P (x))
- VEC_safe_push (tree, CLASSTYPE_PURE_VIRTUALS (t), x);
+ VEC_safe_push (tree, gc, CLASSTYPE_PURE_VIRTUALS (t), x);
complete_vars (t);
}
else
@@ -7130,7 +7130,7 @@ build_vtbl_initializer (tree binfo,
vtbl_init_data vid;
unsigned ix;
tree vbinfo;
- VEC (tree) *vbases;
+ VEC(tree,gc) *vbases;
/* Initialize VID. */
memset (&vid, 0, sizeof (vid));
@@ -7598,7 +7598,7 @@ add_vcall_offset (tree orig_fn, tree binfo, vtbl_init_data *vid)
offset. */
if (vid->binfo == TYPE_BINFO (vid->derived))
{
- tree_pair_p elt = VEC_safe_push (tree_pair_s,
+ tree_pair_p elt = VEC_safe_push (tree_pair_s, gc,
CLASSTYPE_VCALL_INDICES (vid->derived),
NULL);
elt->purpose = orig_fn;