diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2005-05-28 15:43:14 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2005-05-28 15:43:14 +0000 |
commit | 426357eaccd7e80b91170d8f92f71697e633707c (patch) | |
tree | ebb35ff2e8b0d859e9e1bb7482d5f6d6116263b0 /gcc/tree-inline.c | |
parent | 8184759dbcf120129a08d3c2c96d1a9e82256877 (diff) | |
download | gcc-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.c | 19 |
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'. */ |