objc-act.c (build_objc_method_call): Save the lookup_object so we do not call it...
authorAndrew Pinski <apinski@apple.com>
Thu, 24 Jun 2004 22:52:42 +0000 (22:52 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Thu, 24 Jun 2004 22:52:42 +0000 (15:52 -0700)
2004-06-24  Andrew Pinski  <apinski@apple.com>

        * objc-act.c (build_objc_method_call): Save the lookup_object
        so we do not call it twice.

From-SVN: r83618

gcc/ChangeLog
gcc/objc/objc-act.c

index f4eaef744c11922d0e771a1b8cfa82236342dcb4..32c07125d0a284096c42f5bf3dc2c85966af8d09 100644 (file)
@@ -1,3 +1,8 @@
+2004-06-24  Andrew Pinski  <apinski@apple.com>
+
+       * objc-act.c (build_objc_method_call): Save the lookup_object
+       so we do not call it twice.
+
 2004-06-24  Richard Henderson  <rth@redhat.com>
 
        * tree-ssa-dom.c (real_avail_expr_hash): New.
index 9664273529db715eb88764a979d5aa77b77992d9..39e6f765ae7a3cefb7dafd6e21294217e8525a62 100644 (file)
@@ -5869,6 +5869,9 @@ build_objc_method_call (int super_flag, tree method_prototype,
   tree method, t;
 
   lookup_object = build_c_cast (rcv_p, lookup_object);
+    
+  /* Use SAVE_EXPR to avoid evaluating the receiver twice.  */
+  lookup_object = save_expr (lookup_object);
 
   if (flag_next_runtime)
     {
@@ -5895,9 +5898,8 @@ build_objc_method_call (int super_flag, tree method_prototype,
       tree object;
 
       /* First, call the lookup function to get a pointer to the method,
-        then cast the pointer, then call it with the method arguments.
-        Use SAVE_EXPR to avoid evaluating the receiver twice.  */
-      lookup_object = save_expr (lookup_object);
+        then cast the pointer, then call it with the method arguments.  */
+      
       object = (super_flag ? self_decl : lookup_object);
 
       t = tree_cons (NULL_TREE, selector, NULL_TREE);