diff options
author | Alexandre Petit-Bianco <apbianco@cygnus.com> | 2000-01-08 01:59:33 +0000 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 2000-01-07 17:59:33 -0800 |
commit | 6f9c87166a6859cb28f2b2ce178fa2617c4552b2 (patch) | |
tree | da500c1e8e31c1c7c196e63a87b932cc9bac7c9a /gcc/java | |
parent | f626e9fa21d9844a5faf260f23147cc4b69e4bd3 (diff) | |
download | gcc-6f9c87166a6859cb28f2b2ce178fa2617c4552b2.zip gcc-6f9c87166a6859cb28f2b2ce178fa2617c4552b2.tar.gz gcc-6f9c87166a6859cb28f2b2ce178fa2617c4552b2.tar.bz2 |
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
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/java/except.c | 4 | ||||
-rw-r--r-- | gcc/java/expr.c | 4 |
3 files changed, 17 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index bde09bd..a39b9b2 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -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 diff --git a/gcc/java/except.c b/gcc/java/except.c index 3f88093..283826e 100644 --- a/gcc/java/except.c +++ b/gcc/java/except.c @@ -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))); diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 30f1231..4a731af 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -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; |