OSDN Git Service

(expand_expr): For BIND_EXPR, call insert_block on the block.
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Aug 1992 06:05:46 +0000 (06:05 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Aug 1992 06:05:46 +0000 (06:05 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1960 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/expr.c

index 2a94dca..e588515 100644 (file)
@@ -3354,9 +3354,10 @@ expand_expr (exp, target, tmode, modifier)
           if there are any cleanups they most be contained here.  */
        expand_start_bindings (0);
 
-       /* Mark the corresponding BLOCK for output.  */
-       if (TREE_OPERAND (exp, 2) != 0)
-         TREE_USED (TREE_OPERAND (exp, 2)) = 1;
+       /* Mark the corresponding BLOCK for output in its proper place.  */
+       if (TREE_OPERAND (exp, 2) != 0
+           && ! TREE_USED (TREE_OPERAND (exp, 2)))
+         insert_block (TREE_OPERAND (exp, 2));
 
        /* If VARS have not yet been expanded, expand them now.  */
        while (vars)