[PATCH] make tree-browser.c use a VEC instead of TREE_LIST
Richard Guenther
richard.guenther@gmail.com
Mon Jun 28 13:58:00 GMT 2010
On Mon, Jun 28, 2010 at 2:52 PM, Nathan Froyd <froydnj@codesourcery.com> wrote:
> The patch below converts the stack-like use of TREE_LISTs in
> tree-browser.c into VECs. Everything compiles fine on
> x86_64-unknown-linux-gnu, but I don't think there's any good testing
> infrastructure for the bits in this file, are there?
>
> OK to commit?
Ok.
Thanks,
Richard.
> -Nathan
>
> * tree-browser.c (TB_history_stack): Convert to a VEC.
> (TB_SET_HEAD): Adjust for new type of TB_history_stack.
> (TB_history_prev): Likewise.
>
> diff --git a/gcc/tree-browser.c b/gcc/tree-browser.c
> index a7c80c9..3803a50 100644
> --- a/gcc/tree-browser.c
> +++ b/gcc/tree-browser.c
> @@ -108,7 +108,7 @@ void browse_tree (tree);
>
> /* Static variables. */
> static htab_t TB_up_ht;
> -static tree TB_history_stack = NULL_TREE;
> +static VEC(tree,gc) *TB_history_stack;
> static int TB_verbose = 1;
>
>
> @@ -126,7 +126,7 @@ browse_tree (tree begin)
> fprintf (TB_OUT_FILE, "\nTree Browser\n");
>
> #define TB_SET_HEAD(N) do { \
> - TB_history_stack = tree_cons (NULL_TREE, (N), TB_history_stack); \
> + VEC_safe_push (tree, gc, TB_history_stack, N); \
> head = N; \
> if (TB_verbose) \
> if (head) \
> @@ -876,11 +876,11 @@ find_node_with_code (tree *tp, int *walk_subtrees ATTRIBUTE_UNUSED,
> static tree
> TB_history_prev (void)
> {
> - if (TB_history_stack)
> + if (!VEC_empty (tree, TB_history_stack))
> {
> - TB_history_stack = TREE_CHAIN (TB_history_stack);
> - if (TB_history_stack)
> - return TREE_VALUE (TB_history_stack);
> + tree last = VEC_last (tree, TB_history_stack);
> + VEC_pop (tree, TB_history_stack);
> + return last;
> }
> return NULL_TREE;
> }
>
More information about the Gcc-patches
mailing list