Commit 073681c5 by Tom Tromey Committed by Tom Tromey

re PR java/5986 (SIGSEGV in __gcj_personality_v0)

	* except.c (expand_end_java_handler): If the handler type is NULL,
	use java.lang.Throwable.  Fixes PR java/5986.

From-SVN: r51539
parent c75e51ed
2002-03-28 Tom Tromey <tromey@redhat.com>
* except.c (expand_end_java_handler): If the handler type is NULL,
use java.lang.Throwable. Fixes PR java/5986.
2002-03-28 Alexandre Petit-Bianco <apbianco@redhat.com>
Fix for PR java/4715:
......
/* Handle exceptions for GNU compiler for the Java(TM) language.
Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU CC.
......@@ -372,7 +372,17 @@ expand_end_java_handler (range)
expand_start_all_catch ();
for ( ; handler != NULL_TREE; handler = TREE_CHAIN (handler))
{
expand_start_catch (TREE_PURPOSE (handler));
/* For bytecode we treat exceptions a little unusually. A
`finally' clause looks like an ordinary exception handler for
Throwable. The reason for this is that the bytecode has
already expanded the finally logic, and we would have to do
extra (and difficult) work to get this to look like a
gcc-style finally clause. */
tree type = TREE_PURPOSE (handler);
if (type == NULL)
type = throwable_type_node;
expand_start_catch (type);
expand_goto (TREE_VALUE (handler));
expand_end_catch ();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment