]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
authorDale Johannesen <dalej@apple.com>
Fri, 6 Dec 2002 00:58:46 +0000 (00:58 +0000)
committerDale Johannesen <dalej@gcc.gnu.org>
Fri, 6 Dec 2002 00:58:46 +0000 (00:58 +0000)
2002-12-05  Dale Johannesen  <dalej@apple.com>

        * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.

From-SVN: r59877

gcc/ChangeLog
gcc/tree.c

index 151bc547185751aad30428aff2d09cba38f023d9..e1dfb310ba6a6209dce5efba0f55a75dfce05fcf 100644 (file)
@@ -1,3 +1,7 @@
+2002-12-05  Dale Johannesen  <dalej@apple.com>
+
+       * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
+
 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
 
        * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
index 5ffb01006f63ab1a333f172775eeef80298a367e..6c0c7dcf4be9423f871ae941a7d3a46ec7065fc9 100644 (file)
@@ -1801,7 +1801,7 @@ unsafe_for_reeval (expr)
 {
   int unsafeness = 0;
   enum tree_code code;
-  int i, tmp;
+  int i, tmp, tmp2;
   tree exp;
   int first_rtl;
 
@@ -1827,8 +1827,9 @@ unsafe_for_reeval (expr)
       return unsafeness;
 
     case CALL_EXPR:
+      tmp2 = unsafe_for_reeval (TREE_OPERAND (expr, 0));
       tmp = unsafe_for_reeval (TREE_OPERAND (expr, 1));
-      return MAX (tmp, 1);
+      return MAX (MAX (tmp, 1), tmp2);
 
     case TARGET_EXPR:
       unsafeness = 1;