summaryrefslogtreecommitdiff
path: root/gcc/java/expr.c
diff options
context:
space:
mode:
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>1999-12-10 16:06:23 +0000
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>1999-12-10 16:06:23 +0000
commit37c32b0a09c933aca9cc761769ece6b1a928c586 (patch)
tree47d721442246f0cf2bfbddf397cdc82c91b72932 /gcc/java/expr.c
parent7d1fa5a79d649b20e4f913a2fc140e9412bd869c (diff)
downloadgcc-37c32b0a09c933aca9cc761769ece6b1a928c586.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30859 138bc75d-0d04-0410-961f-82ee72b054a4
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 1b1cad2eeaf..c7332a52b07 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;