tree.def (LABELED_BLOCK_EXPR, [...]): New tree nodes.
� * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes. * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New macros. * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and EXIT_BLOCK_EXPR. From-SVN: r21897
This commit is contained in:
parent
0044c65c78
commit
f42e28dd5f
12
gcc/expr.c
12
gcc/expr.c
@ -5796,6 +5796,18 @@ expand_expr (exp, target, tmode, modifier)
|
||||
invert_truthvalue (TREE_OPERAND (exp, 0)));
|
||||
return const0_rtx;
|
||||
|
||||
case LABELED_BLOCK_EXPR:
|
||||
if (LABELED_BLOCK_BODY (exp))
|
||||
expand_expr_stmt (LABELED_BLOCK_BODY (exp));
|
||||
emit_label (label_rtx (LABELED_BLOCK_LABEL (exp)));
|
||||
return const0_rtx;
|
||||
|
||||
case EXIT_BLOCK_EXPR:
|
||||
if (EXIT_BLOCK_RETURN (exp))
|
||||
really_sorry ("returned value in block_exit_expr");
|
||||
expand_goto (LABELED_BLOCK_LABEL (EXIT_BLOCK_LABELED_BLOCK (exp)));
|
||||
return const0_rtx;
|
||||
|
||||
case LOOP_EXPR:
|
||||
push_temp_slots ();
|
||||
expand_start_loop (1);
|
||||
|
Loading…
Reference in New Issue
Block a user