cp-tree.h (finish_stmt_expr): Change prototype.
* cp-tree.h (finish_stmt_expr): Change prototype. * expr.c (cplus_expand_expr): Adjust call accordingly. * init.c (finish_init_stmts): Likewise. * parse.y (primary): Likewise. * pt.c (tsubst_copy): Likewise. * semantics.c (finish_stmt_expr): Don't take two parameters. Don't remove generated BLOCKs from the block-tree. From-SVN: r29536
This commit is contained in:
parent
a7e1e2acfd
commit
5ba57b5522
@ -1308,9 +1308,8 @@ begin_stmt_expr ()
|
|||||||
statement-expression. */
|
statement-expression. */
|
||||||
|
|
||||||
tree
|
tree
|
||||||
finish_stmt_expr (rtl_expr, expr)
|
finish_stmt_expr (rtl_expr)
|
||||||
tree rtl_expr;
|
tree rtl_expr;
|
||||||
tree expr;
|
|
||||||
{
|
{
|
||||||
tree result;
|
tree result;
|
||||||
|
|
||||||
@ -1335,21 +1334,9 @@ finish_stmt_expr (rtl_expr, expr)
|
|||||||
last_tree = rtl_expr;
|
last_tree = rtl_expr;
|
||||||
TREE_CHAIN (last_tree) = NULL_TREE;
|
TREE_CHAIN (last_tree) = NULL_TREE;
|
||||||
}
|
}
|
||||||
else if (expr && TREE_CODE (expr) == BLOCK)
|
else
|
||||||
{
|
|
||||||
result = build (BIND_EXPR, TREE_TYPE (rtl_expr),
|
|
||||||
NULL_TREE, rtl_expr, expr);
|
|
||||||
delete_block (expr);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
result = rtl_expr;
|
result = rtl_expr;
|
||||||
|
|
||||||
if (expr && TREE_CODE (expr) == BLOCK)
|
|
||||||
/* Remove the block from the tree at this point. It gets put back
|
|
||||||
at the proper place when the STMT_EXPR or BIND_EXPR is
|
|
||||||
expanded. */
|
|
||||||
delete_block (expr);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user