aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/expr.c
diff options
context:
space:
mode:
authorAndrew Haley <aph@cygnus.com>1999-12-10 16:06:23 +0000
committerAndrew Haley <aph@gcc.gnu.org>1999-12-10 16:06:23 +0000
commit8bbb23b7aca142d7a8ccf9350c7d4d6845e25f5f (patch)
tree47d721442246f0cf2bfbddf397cdc82c91b72932 /gcc/java/expr.c
parent22d37998107dd5a2afa93861e790275b98c90dd7 (diff)
downloadgcc-8bbb23b7aca142d7a8ccf9350c7d4d6845e25f5f.zip
gcc-8bbb23b7aca142d7a8ccf9350c7d4d6845e25f5f.tar.gz
gcc-8bbb23b7aca142d7a8ccf9350c7d4d6845e25f5f.tar.bz2
parse.h (BUILD_THROW): Add support for sjlj-exceptions.
1999-11-17 Andrew Haley <aph@cygnus.com> * parse.h (BUILD_THROW): Add support for sjlj-exceptions. decl.c (init_decl_processing): Add _Jv_Sjlj_Throw. expr.c (build_java_athrow): Add support for sjlj-exceptions. java-tree.h: Ditto. jcf-write.c: Ditto. From-SVN: r30859
Diffstat (limited to 'gcc/java/expr.c')
-rw-r--r--gcc/java/expr.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index 1b1cad2..c7332a52 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -523,7 +523,8 @@ java_stack_dup (size, offset)
}
}
-/* Calls _Jv_Throw. Discard the contents of the value stack. */
+/* Calls _Jv_Throw or _Jv_Sjlj_Throw. Discard the contents of the
+ value stack. */
static void
build_java_athrow (node)
@@ -533,7 +534,7 @@ build_java_athrow (node)
call = build (CALL_EXPR,
void_type_node,
- build_address_of (throw_node),
+ build_address_of (throw_node[exceptions_via_longjmp ? 1 : 0]),
build_tree_list (NULL_TREE, node),
NULL_TREE);
TREE_SIDE_EFFECTS (call) = 1;