expr.c (java_lang_expand_expr): Switch to permanent obstack before calling expand_eh_region_start and...

Wed Dec  8 15:33:26 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * expr.c (java_lang_expand_expr): Switch to permanent obstack
        before calling expand_eh_region_start and expand_start_all_catch.
        * except.c (expand_start_java_handler): Switch to permanent
        obstack before calling expand_eh_region_start.
        (expand_end_java_handler): Switch to permanent obstack before
        calling expand_start_all_catch.

From-SVN: r31284
This commit is contained in:
Alexandre Petit-Bianco 2000-01-08 01:59:33 +00:00 committed by Alexandre Petit-Bianco
parent f626e9fa21
commit 6f9c87166a
3 changed files with 17 additions and 0 deletions

View file

@ -163,6 +163,15 @@ Fri Dec 10 16:13:48 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
java-tree.h: Ditto.
jcf-write.c: Ditto.
Wed Dec 8 15:33:26 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* expr.c (java_lang_expand_expr): Switch to permanent obstack
before calling expand_eh_region_start and expand_start_all_catch.
* except.c (expand_start_java_handler): Switch to permanent
obstack before calling expand_eh_region_start.
(expand_end_java_handler): Switch to permanent obstack before
calling expand_start_all_catch.
1999-12-5 Anthony Green <green@cygnus.com>
* decl.c (init_decl_processing): Mark throw_node as a noreturn

View file

@ -291,7 +291,9 @@ static void
expand_start_java_handler (range)
struct eh_range *range ATTRIBUTE_UNUSED;
{
push_obstacks (&permanent_obstack, &permanent_obstack);
expand_eh_region_start ();
pop_obstacks ();
}
tree
@ -327,7 +329,9 @@ expand_end_java_handler (range)
struct eh_range *range;
{
tree handler = range->handlers;
push_obstacks (&permanent_obstack, &permanent_obstack);
expand_start_all_catch ();
pop_obstacks ();
for ( ; handler != NULL_TREE; handler = TREE_CHAIN (handler))
{
start_catch_handler (prepare_eh_table_type (TREE_PURPOSE (handler)));

View file

@ -2024,9 +2024,13 @@ java_lang_expand_expr (exp, target, tmode, modifier)
/* We expand a try[-catch] block */
/* Expand the try block */
push_obstacks (&permanent_obstack, &permanent_obstack);
expand_eh_region_start ();
pop_obstacks ();
expand_expr_stmt (TREE_OPERAND (exp, 0));
push_obstacks (&permanent_obstack, &permanent_obstack);
expand_start_all_catch ();
pop_obstacks ();
/* Expand all catch clauses (EH handlers) */
for (current = TREE_OPERAND (exp, 1); current;