diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c33dba77249..ea6987d4a2b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-01-11 Richard Biener + + * tree-cfg.c (verify_node_sharing_1): Split out from ... + (verify_node_sharing): ... here. + (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree. + 2013-01-11 Eric Botcazou * configure.ac (Tree checking): Set TREECHECKING to yes if enabled. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index e560b6293cf..4cd5865f2e5 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -4462,13 +4462,12 @@ tree_node_can_be_shared (tree t) return false; } -/* Called via walk_gimple_stmt. Verify tree sharing. */ +/* Called via walk_tree. Verify tree sharing. */ static tree -verify_node_sharing (tree *tp, int *walk_subtrees, void *data) +verify_node_sharing_1 (tree *tp, int *walk_subtrees, void *data) { - struct walk_stmt_info *wi = (struct walk_stmt_info *) data; - struct pointer_set_t *visited = (struct pointer_set_t *) wi->info; + struct pointer_set_t *visited = (struct pointer_set_t *) data; if (tree_node_can_be_shared (*tp)) { @@ -4482,6 +4481,15 @@ verify_node_sharing (tree *tp, int *walk_subtrees, void *data) return NULL; } +/* Called via walk_gimple_stmt. Verify tree sharing. */ + +static tree +verify_node_sharing (tree *tp, int *walk_subtrees, void *data) +{ + struct walk_stmt_info *wi = (struct walk_stmt_info *) data; + return verify_node_sharing_1 (tp, walk_subtrees, wi->info); +} + static bool eh_error_found; static int verify_eh_throw_stmt_node (void **slot, void *data) @@ -4534,7 +4542,8 @@ verify_gimple_in_cfg (struct function *fn) for (i = 0; i < gimple_phi_num_args (phi); i++) { tree arg = gimple_phi_arg_def (phi, i); - tree addr = walk_tree (&arg, verify_node_sharing, visited, NULL); + tree addr = walk_tree (&arg, verify_node_sharing_1, + visited, NULL); if (addr) { error ("incorrect sharing of tree nodes");