OSDN Git Service

* fold-const.c (fold): Use first_rtl_op rather than
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Apr 2001 01:34:01 +0000 (01:34 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Apr 2001 01:34:01 +0000 (01:34 +0000)
TREE_CODE_LENGTH when looping over parameters of a tree.
Correct strange grouping in test for evaluated SAVE_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41437 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/fold-const.c

index e291df9..5af147e 100644 (file)
@@ -1,3 +1,9 @@
+2001-04-19  Geoff Keating  <geoffk@redhat.com>
+
+       * 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.
index a595b6e..1ee585d 100644 (file)
@@ -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++)
        {