diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e291df95a62..5af147ef86f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-04-19 Geoff Keating + + * fold-const.c (fold): Use first_rtl_op rather than + TREE_CODE_LENGTH when looping over parameters of a tree. + Correct strange grouping in test for evaluated SAVE_EXPR. + Thu Apr 19 19:15:26 2001 Jeffrey A Law (law@cygnus.com) * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine. diff --git a/gcc/fold-const.c b/gcc/fold-const.c index a595b6e4066..1ee585d26fc 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -4864,7 +4864,7 @@ fold (expr) /* Don't try to process an RTL_EXPR since its operands aren't trees. Likewise for a SAVE_EXPR that's already been evaluated. */ - if (code == RTL_EXPR || (code == SAVE_EXPR && SAVE_EXPR_RTL (t)) != 0) + if (code == RTL_EXPR || (code == SAVE_EXPR && SAVE_EXPR_RTL (t) != 0)) return t; /* Return right away if a constant. */ @@ -4903,7 +4903,7 @@ fold (expr) } else if (IS_EXPR_CODE_CLASS (kind) || kind == 'r') { - register int len = TREE_CODE_LENGTH (code); + register int len = first_rtl_op (code); register int i; for (i = 0; i < len; i++) {