c-typeck.c (c_expand_asm_operands): Restore the output tree after expanding.
authorRichard Henderson <rth@cygnus.com>
Tue, 19 Sep 2000 14:26:38 +0000 (07:26 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 19 Sep 2000 14:26:38 +0000 (07:26 -0700)
        * c-typeck.c (c_expand_asm_operands): Restore the output tree
        after expanding.

From-SVN: r36533

gcc/ChangeLog
gcc/c-typeck.c

index e74d3c7ff6742cd4ee72cbd3c089d376fef8c8e2..f6de40a5122b5918eac59ccdac294d3147331653 100644 (file)
@@ -1,5 +1,8 @@
 2000-09-19  Richard Henderson  <rth@cygnus.com>
 
+       * c-typeck.c (c_expand_asm_operands): Restore the output tree
+       after expanding.
+
        * stmt.c (expand_expr_stmt): Only call warn_if_unused_value
        if the tree has side effects.
        (warn_if_unused_value): Do not warn about void constructs.
index 146143205c6fbada29440506bab37b7fc01023b1..da8ced243b8bf7271959c641a121e12aef2c73d1 100644 (file)
@@ -6603,6 +6603,10 @@ c_expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
          expand_expr (build_modify_expr (o[i], NOP_EXPR, TREE_VALUE (tail)),
                       NULL_RTX, VOIDmode, EXPAND_NORMAL);
          free_temp_slots ();
+
+         /* Restore the original value so that it's correct the next
+            time we expand this function.  */
+         TREE_VALUE (tail) = o[i];
        }
       /* Detect modification of read-only values.
         (Otherwise done by build_modify_expr.)  */