diff options
author | Per Bothner <bothner@cygnus.com> | 1998-12-23 10:46:40 +0000 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 1998-12-23 02:46:40 -0800 |
commit | e402ca989ba0d54124f90b6a95cc595e272f7919 (patch) | |
tree | 9e0930a81c12fc9a3c7cc2670e141b91dcd55806 | |
parent | 45b44fbed7110d8388a4eb4c0c16b39e35c4c16c (diff) | |
download | gcc-e402ca989ba0d54124f90b6a95cc595e272f7919.zip gcc-e402ca989ba0d54124f90b6a95cc595e272f7919.tar.gz gcc-e402ca989ba0d54124f90b6a95cc595e272f7919.tar.bz2 |
expr.c (process_jvm_instruction): Do load_type_state after JSR.
* expr.c (process_jvm_instruction): Do load_type_state after JSR.
* verify.c (verify_jvm_instructions): Fix off-by-one error.
* jcf-write.c (CHECK_PUT): Add (void) cast to avoid -Wall warnings.
(localvar_alloc): Change return type to void,
(emit_unop): Remove unused variable size.
* jcf-write.c (struct jcf_block): Add new union.
(PENDING_CLEANUP_PC, PENDING_EXIT_PC, UNDEFINED_PC): New macros.
(call_cleanups): New functions.
(struct jcf_partial): New fields num_finalizers and return_value_decl.
(generate_bytecode_insns): Support CLEANUP_POINT_EXPR and
WITH_CLEANUP_EXPR. Handle cleanups in RETURN_EXPR and EXIT_BLOCK_EXPR.
* lang.c (lang_init): Call using_eh_for_cleanups.
* parse.y (java_complete_lhs): For SYNCHRONIZED_EXPR, defer
completing operands to patch_synchronized_statement.
Support CLEANUP_POINT_EXPR, WITH_CLEANUP_EXPR.
(patch_synchronized_statement): Re-write suing CLEANUP_POINT_EXPR and
WITH_CLEANUP_EXPR instead of TRY_EXPR.
From-SVN: r24405
-rw-r--r-- | gcc/java/ChangeLog | 22 | ||||
-rw-r--r-- | gcc/java/lang.c | 2 |
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 1ab527f..0546ace 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,25 @@ +Tue Dec 22 11:25:19 1998 Per Bothner <bothner@cygnus.com> + + * expr.c (process_jvm_instruction): Do load_type_state after JSR. + * verify.c (verify_jvm_instructions): Fix off-by-one error. + + * jcf-write.c (CHECK_PUT): Add (void) cast to avoid -Wall warnings. + (localvar_alloc): Change return type to void, + (emit_unop): Remove unused variable size. + + * jcf-write.c (struct jcf_block): Add new union. + (PENDING_CLEANUP_PC, PENDING_EXIT_PC, UNDEFINED_PC): New macros. + (call_cleanups): New functions. + (struct jcf_partial): New fields num_finalizers and return_value_decl. + (generate_bytecode_insns): Support CLEANUP_POINT_EXPR and + WITH_CLEANUP_EXPR. Handle cleanups in RETURN_EXPR and EXIT_BLOCK_EXPR. + * lang.c (lang_init): Call using_eh_for_cleanups. + * parse.y (java_complete_lhs): For SYNCHRONIZED_EXPR, defer + completing operands to patch_synchronized_statement. + Support CLEANUP_POINT_EXPR, WITH_CLEANUP_EXPR. + (patch_synchronized_statement): Re-write suing CLEANUP_POINT_EXPR and + WITH_CLEANUP_EXPR instead of TRY_EXPR. + Sun Dec 20 16:15:44 1998 John F. Carr <jfc@mit.edu> * Make-lang.in: Comment out control-Ls; they upset some makes. diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 50a1b67..5a407c7 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -494,6 +494,8 @@ lang_init () (char *)(tree_code_name + (int) LAST_AND_UNUSED_TREE_CODE), (LAST_JAVA_TREE_CODE - (int)LAST_AND_UNUSED_TREE_CODE) * sizeof (char *)); + + using_eh_for_cleanups (); } /* This doesn't do anything on purpose. It's used to satisfy the |