From e402ca989ba0d54124f90b6a95cc595e272f7919 Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Wed, 23 Dec 1998 10:46:40 +0000 Subject: [PATCH] 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 --- gcc/java/ChangeLog | 22 ++++++++++++++++++++++ gcc/java/lang.c | 2 ++ 2 files changed, 24 insertions(+) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 1ab527f25db..0546ace9b0a 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,25 @@ +Tue Dec 22 11:25:19 1998 Per Bothner + + * 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 * Make-lang.in: Comment out control-Ls; they upset some makes. diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 50a1b67ac4d..5a407c7f261 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 -- 2.30.2