diff options
author | matz <matz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-09-02 21:13:34 +0000 |
---|---|---|
committer | matz <matz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-09-02 21:13:34 +0000 |
commit | 16c9337cf8172108f7c4230803c6aa0370807a94 (patch) | |
tree | dcf22487df72f428cf2839f64e5d177bc055f7b3 /gcc/except.c | |
parent | 0d12348a8a447ac3f0d395555bec3cb87d234516 (diff) | |
download | gcc-16c9337cf8172108f7c4230803c6aa0370807a94.tar.gz |
* expr.h (emit_storent_insn, expand_expr_real_1,
expand_expr_real_2): Declare.
* expr.c (emit_storent_insn, expand_expr_real_1,
expand_expr_real_2): Export.
(store_expr): Setting and evaluating dont_return_target is
useless.
(expand_expr_real_1, <case GOTO_EXPR, RETURN_EXPR, SWITCH_EXPR,
LABEL_EXPR and ASM_EXPR>): Move to gcc_unreachable.
* except.c (expand_resx_expr): Rename to ...
(expand_resx_stmt): ... this. Rewrite to take gimple statement.
* except.h (expand_resx_stmt): Declare.
* stmt.c: Add include gimple.h
(expand_asm_expr): Rename to ...
(expand_asm_stmt): ... this. Rewrite to take gimple statement.
(expand_case): Rewrite to take gimple statement.
* tree.h (expand_asm_stmt): Declare.
(expand_case): Change prototype.
* Makefile.in (stmt.o): Depend on gimple.h.
* builtins.c (expand_builtin_synchronize): Build gimple asm
statement, not an ASM_EXPR.
* cfgexpand.c (gimple_cond_pred_to_tree, set_expr_location_r,
gimple_to_tree, release_stmt_tree): Remove.
(expand_gimple_cond): Don't call gimple_cond_pred_to_tree or
ggc_free, but hold comparison code and operands separately.
Call jumpif_1 and jumpifnot_1 instead of jumpif and jumpifnot.
(expand_call_stmt, expand_gimple_stmt_1,
expand_gimple_stmt): New helpers.
(expand_gimple_tailcall): Don't call gimple_to_tree, expand_expr_stmt,
release_stmt_tree. Call expand_gimple_stmt instead.
(expand_gimple_basic_block): Ditto.
* calls.c (emit_call_1): Don't look at EH regions here, make
fntree parameter useless.
(expand_call): New local rettype for TREE_TYPE(exp), use it
throughout. Remove local p, use addr instead.
Don't look at EH regions here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151350 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.c')
-rw-r--r-- | gcc/except.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/except.c b/gcc/except.c index 9fa60ffbe4e..ed489d9604c 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -437,9 +437,9 @@ set_eh_region_tree_label (struct eh_region_d *region, tree lab) } void -expand_resx_expr (tree exp) +expand_resx_stmt (gimple stmt) { - int region_nr = TREE_INT_CST_LOW (TREE_OPERAND (exp, 0)); + int region_nr = gimple_resx_region (stmt); rtx insn; struct eh_region_d *reg = VEC_index (eh_region, cfun->eh->region_array, region_nr); |