From 41f8ae85ccd49b01683420719b43316399124f1d Mon Sep 17 00:00:00 2001 From: bothner Date: Thu, 12 Nov 1998 16:15:08 +0000 Subject: [PATCH] 0 Extensive changes. See ChangeLog. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23618 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/java/ChangeLog | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 7d3b9e2..83fac42 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,11 +1,58 @@ Thu Nov 12 14:15:07 1998 Per Bothner + * parse.y (patch_invoke): Do less if flag_emit_class_files. + * expr.c (build_known_method_ref): Don't check flag_emit_class_files + here (done in patch_invoke instead). + (case_identity): Moved here from parse.y. + + * java-tree.h (CAN_COMPLETE_NORMALLY): New macro. + * parse.y (java_complete_tree etc): Maybe set CAN_COMPLETE_NORMALLY. + * parse.y (java_complete_tree): Re-order COMPOUND_EXPR in BLOCK + so they can be efficiently scanned without recursion. + Error it ! CAN_COMPLETE_NORMALLY first part of COMPOUND_EXPR. + * expr.c (java_lang_expand_expr): Expand statements of COMPOUND_EXPR + in BLOCK iteratively, rather than recursively. + + * parse.y (do_unary_numeric_promotion): New function. + (patch_unaryop, patch_binop, patch_array_ref): Use it. + + * parse.y (patch_newarray): Various fixes. + + Re-do handling of switch statements (for proper block scoping). + * parse.y: Add just a single block for the enture switch block, + but don't create any "case blocks". + (group_of_labels): Rmeoved unneeded non-terminal. + CASE_EXPR and DEFAULT_EXPR are added to current block. + * expr.c (java_lang_expand_expr): Inline SWITCH_EXPR here. + Now also need to handle CASE_EXPR and DEFAULT_EXPR. + * java-tree.h (SWITCH_HAS_DEFAULT): New macro. + * parse.y (wfl_operator, print_int_node): Make non-static. + (java_complete_tree): CASE_EXPR and DEFAULT_EXPR are now processed + as part of recursive scan of block. + (java_expand_switch ): Removed - inlined into java_lang_expand_expr. + (patch_switch_statement): Most tests move dinto java_complete_tree. + + * parse.y: Make various production be non-typed (void). + * parse.y (parse_error): Merged into issue_warning_error_from_context. + * parse.y (add_stmt_to_compound): Don't create/change extra node. + (patch_method_invocation_stmt): Renamed to patch_method_invocation. + + * jcf-write.c (struct jcf_handler): New type. + (struct jcf_switch_state): New type. + (SWITCH_ALIGN_RELOC, BLOCK_START_RELOC): New relocation kinds. + (alloc_handler, emit_unop, emit_reloc): New functions. + (adjust_typed_op): Add extra parameter ("max type" offset). + (emit_switch_reloc, emit_case-reloc): New function. + (generate_bytecode_conditional): Handle REAL_TYPE comparisons. + (generate_bytecode_insns): Support REAL_CST, switch statements, + exception handling, method calls, object/array creation, and more. + * class.c: Remove some unused variables. * constants.c (find_string_constant): New function. (count_constant_pool_bytes): Fix to correctly handle wide constants. * decl.c (complete_start_java_method): Don't _Jv_InitClass if flag_emit_class_files. - + 1998-11-12 Tom Tromey * jcf-io.c (find_class): Added explanatory comment. -- 2.7.4