(expand_expr): For BIND_EXPR, call insert_block on the block.
authorRichard Stallman <rms@gnu.org>
Wed, 26 Aug 1992 06:05:46 +0000 (06:05 +0000)
committerRichard Stallman <rms@gnu.org>
Wed, 26 Aug 1992 06:05:46 +0000 (06:05 +0000)
From-SVN: r1960

gcc/expr.c

index 2a94dcac4d76f41825c1bfb709b1b402da1a62af..e588515856f81401a642ef74bd9f0e7e550dc01c 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)