OSDN Git Service

* c-typeck.c (c_expand_asm_operands): Restore the output tree
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Sep 2000 14:26:38 +0000 (14:26 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Sep 2000 14:26:38 +0000 (14:26 +0000)
        after expanding.

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

gcc/ChangeLog
gcc/c-typeck.c

index e74d3c7..f6de40a 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 1461432..da8ced2 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.)  */