* tree.c (walk_tree): Walk siblings even if !walk_subtrees.

From-SVN: r44686
This commit is contained in:
Jason Merrill 2001-08-07 08:09:24 -04:00 committed by Jason Merrill
parent 57cf57fbcd
commit 59a13e0fb4
2 changed files with 14 additions and 4 deletions

View File

@ -1,3 +1,7 @@
2001-08-07 Jason Merrill <jason_merrill@redhat.com>
* tree.c (walk_tree): Walk siblings even if !walk_subtrees.
2001-08-06 Richard Henderson <rth@redhat.com>
* decl2.c (finish_objects): Pass a symbol_ref and priority to
@ -140,7 +144,7 @@
declaring a function, and create last_function_parms correctly.
2001-07-25 Jason Merrill <jason_merrill@redhat.com>
* call.c (joust): Only prefer a non-builtin candidate to a builtin
one if they have the same signature.

View File

@ -1198,12 +1198,18 @@ walk_tree (tp, func, data, htab)
if (result)
return result;
code = TREE_CODE (*tp);
/* Even if we didn't, FUNC may have decided that there was nothing
interesting below this point in the tree. */
if (!walk_subtrees)
return NULL_TREE;
code = TREE_CODE (*tp);
{
if (statement_code_p (code) || code == TREE_LIST || code == OVERLOAD)
/* But we still need to check our siblings. */
return walk_tree (&TREE_CHAIN (*tp), func, data, htab);
else
return NULL_TREE;
}
/* Handle common cases up front. */
if (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (code))