aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPer Bothner <bothner@gcc.gnu.org>1998-11-12 08:15:08 -0800
committerPer Bothner <bothner@gcc.gnu.org>1998-11-12 08:15:08 -0800
commit421fb0858d68eedf410a1d0ba9ec7176d112e94c (patch)
tree4c528a5694474b1c8a091489207dc8d2f589849f /gcc
parent14dd5b38049d255096f06974f878d3043be4532b (diff)
downloadgcc-421fb0858d68eedf410a1d0ba9ec7176d112e94c.zip
gcc-421fb0858d68eedf410a1d0ba9ec7176d112e94c.tar.gz
gcc-421fb0858d68eedf410a1d0ba9ec7176d112e94c.tar.bz2
Extensive changes.
0 Extensive changes. See ChangeLog. From-SVN: r23618
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog49
1 files changed, 48 insertions, 1 deletions
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 <bothner@cygnus.com>
+ * 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 <tromey@cygnus.com>
* jcf-io.c (find_class): Added explanatory comment.