[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