diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-28 11:04:51 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-28 11:04:51 +0000 |
| commit | df4b504cae7856b864a073ab9e6e61cf2ad23a97 (patch) | |
| tree | a923c8785a06871784c5177530130063c4925f5a /gcc/java/expr.c | |
| parent | d3ab49408bd5b876d10076caea78dc81a5f85dd7 (diff) | |
| download | ppe42-gcc-df4b504cae7856b864a073ab9e6e61cf2ad23a97.tar.gz ppe42-gcc-df4b504cae7856b864a073ab9e6e61cf2ad23a97.zip | |
IA-64 ABI Exception Handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40924 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/expr.c')
| -rw-r--r-- | gcc/java/expr.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 42c43aad536..072be6dea94 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -2502,15 +2502,13 @@ java_lang_expand_expr (exp, target, tmode, modifier) for (current = TREE_OPERAND (exp, 1); current; current = TREE_CHAIN (current)) { - tree type; tree catch = TREE_OPERAND (current, 0); tree decl = BLOCK_EXPR_DECLS (catch); - type = (decl ? TREE_TYPE (TREE_TYPE (decl)) : NULL_TREE); - start_catch_handler (prepare_eh_table_type (type)); - expand_expr_stmt (TREE_OPERAND (current, 0)); + tree type = (decl ? TREE_TYPE (TREE_TYPE (decl)) : NULL_TREE); - expand_resume_after_catch (); - end_catch_handler (); + expand_start_catch (type); + expand_expr_stmt (TREE_OPERAND (current, 0)); + expand_end_catch (); } expand_end_all_catch (); return const0_rtx; @@ -2812,7 +2810,7 @@ process_jvm_instruction (PC, byte_ops, length) if (instruction_bits [PC] & BCODE_EXCEPTION_TARGET) { tree type = pop_type (ptr_type_node); - push_value (build1 (NOP_EXPR, type, soft_exceptioninfo_call_node)); + push_value (build_exception_object_ref (type)); } switch (byte_ops[PC++]) |

