diff options
author | Jason Merrill <jason@redhat.com> | 2000-10-20 17:26:26 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-10-20 17:26:26 -0400 |
commit | ba523395f170c2a6ebdf373b8bf0a9d82664a36b (patch) | |
tree | 7649273d55096f94e7a838d7e4d9f769a1077b9e | |
parent | ac758f9643ee4d3afc14c291dcbbe3ba265257eb (diff) | |
download | gcc-ba523395f170c2a6ebdf373b8bf0a9d82664a36b.zip gcc-ba523395f170c2a6ebdf373b8bf0a9d82664a36b.tar.gz gcc-ba523395f170c2a6ebdf373b8bf0a9d82664a36b.tar.bz2 |
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
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/error.c | 3 | ||||
-rw-r--r-- | gcc/cp/tree.c | 8 |
3 files changed, 14 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b573096..c3582fc 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2000-10-20 Jason Merrill <jason@redhat.com> + + * tree.c (walk_tree): Don't walk into default args. + + * error.c (dump_expr): Use host_integerp. + 2000-10-20 David Edelsohn <edelsohn@gnu.org> * typeck2.c (abstract_virtuals_error): Use "because" instead of diff --git a/gcc/cp/error.c b/gcc/cp/error.c index e983702..cb27751 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 a1d37c8..f974067 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: |