From ba523395f170c2a6ebdf373b8bf0a9d82664a36b Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Fri, 20 Oct 2000 17:26:26 -0400 Subject: [PATCH] tree.c (walk_tree): Don't walk into default args. * tree.c (walk_tree): Don't walk into default args. * error.c (dump_expr): Use host_integerp. From-SVN: r36984 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/error.c | 3 +-- gcc/cp/tree.c | 8 +++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b5730961aed..c3582fcc2b6 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2000-10-20 Jason Merrill + + * tree.c (walk_tree): Don't walk into default args. + + * error.c (dump_expr): Use host_integerp. + 2000-10-20 David Edelsohn * typeck2.c (abstract_virtuals_error): Use "because" instead of diff --git a/gcc/cp/error.c b/gcc/cp/error.c index e9837026934..cb27751e34e 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -1609,8 +1609,7 @@ dump_expr (t, flags) else { do_int: - if ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (t) - != (TREE_INT_CST_LOW (t) >> (HOST_BITS_PER_WIDE_INT - 1))) + if (! host_integerp (t, 0)) { tree val = t; diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index a1d37c86698..f974067135a 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1388,7 +1388,13 @@ walk_tree (tp, func, data, htab) case FUNCTION_TYPE: WALK_SUBTREE (TREE_TYPE (*tp)); - WALK_SUBTREE (TYPE_ARG_TYPES (*tp)); + { + tree arg = TYPE_ARG_TYPES (*tp); + + /* We never want to walk into default arguments. */ + for (; arg; arg = TREE_CHAIN (arg)) + WALK_SUBTREE (TREE_VALUE (arg)); + } break; case ARRAY_TYPE: