aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2005-05-28 15:43:14 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2005-05-28 15:43:14 +0000
commit426357eaccd7e80b91170d8f92f71697e633707c (patch)
treeebb35ff2e8b0d859e9e1bb7482d5f6d6116263b0 /gcc/tree-inline.c
parent8184759dbcf120129a08d3c2c96d1a9e82256877 (diff)
downloadgcc-426357eaccd7e80b91170d8f92f71697e633707c.zip
gcc-426357eaccd7e80b91170d8f92f71697e633707c.tar.gz
gcc-426357eaccd7e80b91170d8f92f71697e633707c.tar.bz2
tree-inline.c (cfun_stack): Change the type to VEC(function_p,heap).
* tree-inline.c (cfun_stack): Change the type to VEC(function_p,heap). (push_cfun, pop_cfun): Use VEC instead of VARRAY. From-SVN: r100294
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 3c6b98f..224004e 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -1813,28 +1813,25 @@ estimate_num_insns (tree expr)
return num;
}
+typedef struct function *function_p;
+
+DEF_VEC_P(function_p);
+DEF_VEC_ALLOC_P(function_p,heap);
+
/* Initialized with NOGC, making this poisonous to the garbage collector. */
-static varray_type cfun_stack;
+static VEC(function_p,heap) *cfun_stack;
void
push_cfun (struct function *new_cfun)
{
- static bool initialized = false;
-
- if (!initialized)
- {
- VARRAY_GENERIC_PTR_NOGC_INIT (cfun_stack, 20, "cfun_stack");
- initialized = true;
- }
- VARRAY_PUSH_GENERIC_PTR (cfun_stack, cfun);
+ VEC_safe_push (function_p, heap, cfun_stack, cfun);
cfun = new_cfun;
}
void
pop_cfun (void)
{
- cfun = (struct function *)VARRAY_TOP_GENERIC_PTR (cfun_stack);
- VARRAY_POP (cfun_stack);
+ cfun = VEC_pop (function_p, cfun_stack);
}
/* Install new lexical TREE_BLOCK underneath 'current_block'. */