-2004-06-22 Andrew Haley <aph@redhat.com>
- Ranjit Mathew <rmathew@hotmail.com>
+2004-09-30 Per Bothner <per@bothner.com>
+
+ Simplify lexer. Implement --enable-mapped-location support.
+ * jcf-parse.c (parse_class_file): Use linemap_line_start.
+ (parse_source_file_1): Pass filename as extra parameter, so we can call
+ linemap_add and set input_location here, rather than in both callers.
+ (read_class): Pass copied filename to parse_source_file_1.
+ Don't initialize wfl_operator - only needed for source compilation.
+ (read_class, jcf_parse): Call linemap_add with LC_LEAVE.
+ * lex.h: Remove a bunch of debugging macros.
+ * lex.h (struct_java_line, struct java_error): Remove types.
+ (JAVA_COLUMN_DELTA): Remove - use java_lexer.next_colums instead.
+ (struct java_lc_s): Remove prev_col field.
+ (struct java_lexer): New fields next_unicode, next_columns, and
+ avail_unicode. New position field, and maybe token_start field.
+ Don't need hit_eof field - use next_unicode == -1 instead.
+ (JAVA_INTEGERAL_RANGE_ERROR): Rename to JAVA_RANGE_ERROR.
+ (JAVA_RANGE_ERROR, JAVA_FLOAT_ANGE_ERROR): Update accordingly.
+ * parse.h: Various changes for USE_MAPPED_LOCATION.
+ (EXPR_WFL_EMIT_LINE_NOTE): XXX
+ (BUILD_EXPR_WFL, EXPR_WFL_ADD_COL): Remove no-longer-used macros.
+ (struct parser_ctxt): New file_start_location field.
+ Remove p_line, c_line fields since we no longer save lines.
+ Remove elc, lineno, and current_jcf fields - no longer used.
+ * parse.y: Updates for USE_MAPPED_LOCATION and new lexer.
+ Don't use EXPR_WFL_ADD_COL since that isn't trivial with
+ source_location and is probably not needed anymore anyway.
+ Use new expr_add_Location function.
+ (SET_EXPR_LOCATION_FROM_TOKEN): New convenience macro.
+ (java_pop_parser_context): Minor cleanup.
+ (java_parser_context_save_global, java_parser_context_restore_global,
+ java_pop_parser_context): Save/restore input_location as a unit.
+ (issue_warning_error_from_context): If USE_MAPPED_LOCATION take
+ a source_location instead of a wfl context node.
+ (check_class_interface_creation): input_filename is not addressable.
+ (create_artificial_method): Calling java_parser_context_save_global
+ and java_parser_context_restore_global is overkill. Instead,
+ temporarily set input_location from class decl.
+ (java_layout_seen_class_methods): Set input_location from method decl.
+ (fix_constructors): Make more robust if no EXPR_WITH_FILE_LOCATION.
+ (finish_loop_body): Likewise.
+ * lex.c: Updates for USE_MAPPED_LOCATION. Use build_unknwon_wfl.
+ (java_sprint_unicode): Take a character, not index in line.
+ (java_sneak_uncode): Replaced by java_peek_unicode.
+ (java_unget_unicode): No longer used.
+ (java_allocate_new_line. java_store_unicode): Removed, since we
+ no longer remember "lines".
+ (java_new_lexer): Update for new data structures.
+ (java_read_char): Move unget_value checking to java_read_unicode.
+ (java_get_unicode, java_peek_unicode, java_next_unicode): New more
+ efficient functions that are used directly when lexing.
+ (java_read_unicode_collapsing_terminators): No longer needed.
+ (java_parse_end_comment, java_parse_escape_sequence, do_java_lex):
+ Re-organize to use java_peek_unicode to avoid java_unget_unicode.
+ (java_parse_escape_sequence): Rewrite to be simpler / more efficient.
+ (do_java_lex): Lots of movings around to avoid java_unget_unicode,
+ combine switch branches, and test for common token kinds earlier.
+ (java_lex_error): Rewrite.
+ * jv-scan.c (expand_location): New function, copied from tree.c.
+ (main): Set ctxp->filename instead of setting input_filename directly.
+
+2004-09-30 Per Bothner <per@bothner.com>
+
+ More cleanup for --enable-mapped-location.
+ * class.c (push_class): If USE_MAPPED_LOCATION don't set
+ input_location here. Instead do it in give_name_to_class.
+ (build_class_ref): Set DECL_ARTIFICIAL, for the sake of dwarf2out.
+ * expr.c (expand_byte_code): Call linemap_line_start.
+ * expr.c (build_expr_wfl): If USE_MAPPED_LOCATION, change final
+ parameters to a source_location. Don't need EXPR_WFL_FILENAME_NODE.
+ (expr_add_location): New function, if USE_MAPPED_LOCATION.
+ * class.c (maybe_layout_super_class): Adjust build_expr_wfl call
+ to USE_MAPPED_LOCATION case.
+
+ * java-tree.h (JAVA_FILE_P, ZIP_FILE_P): Remove unused macros.
+ * jcf-parse.c (java_parse_file): Don't set input_filename.
+ Use IS_A_COMMAND_LINE_FILENAME_P to check for duplicate filenames.
+ Create a list of TRANSLATION_UNIT_DECL.
+ (current_file_list): Is now a TRANSLATION_UNIT_DECL chain. The
+ reason is so we can set a DECL_SOURCE_LOCATION for each file.
+ (java_parse_file): Don't set unused ZIP_FILE_P, JAVA_FILE_P..
+ Create line-map LC_ENTER/LC_LEAVE entries for archive itself.
+ (file_start_location): New static.
+ (set_source_filename): Avoid extra access to input_filename macro.
+ Concatenate new name with class's package prefix.
+ (set_source_filename, give_name_to_class): Update.
+ (give_name_to_class): Set class's "line 0" input_location here.
+ (parse_class_file): Set input_location as a unit.
+
+ * jcf-parse.c (load_class): Sanity test if missing inner class file.
+
+2004-09-29 Per Bothner <per@bothner.com>
+
+ * java-tree.h: Redefine some macros and add some declaration
+ to handle the USE_MAPPED_LOCATION case.
+ * parse.h (EXPR_WFL_QUALIFICATION): Use operand 1, not 2.
+ * java-tree.h (EXPR_WFL_FILENAME_NODE): Use operand 2, not 1.
+ * java-tree.def (EXPR_WITH_FILE_LOCATION): Only need two operands in
+ USE_MAPPED_LOCATION case, since EXPR_WFL_FILENAME_NODE is gone.
+
+ * check-init.c (check_init): Handle USE_MAPPED_LOCATION case.
+ * decl.c (finish_method, java_add_stmt): Likewise.
+ * java-gimplify.c (java-gimplify.c): Likewise.
+ * jcf-write.c (generate_bytecode_insns): Likewise.
+ * lang.c (java_post_options): Likewise - call linemap_add.
+
+2004-09-29 Andrew Haley <aph@redhat.com>
+
+ PR java/17007
+ * parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
+ result of TRUNC_MOD_EXPR.
+ (patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
+ * decl.c (java_init_decl_processing): Mark
+ soft_lookupinterfacemethod_node and soft_instanceof_node pure.
+
+2004-09-28 Tom Tromey <tromey@redhat.com>
+
+ PR java/15710:
+ * class.c (add_miranda_methods): Load superinterface if not
+ already loaded.
+
+2004-09-28 Andrew Haley <aph@redhat.com>
+
+ PR java/17586
+ * jcf-parse.c (load_class): Don't try to read a class that we've
+ already read.
+
+2004-09-28 Andrew Haley <aph@redhat.com>
+
+ * jcf-parse.c (load_class): Back out previous broken patch.
+
+2004-09-28 Andrew Haley <aph@redhat.com>
+
+ PR java/17586
+ * jcf-parse.c (load_class): Don't try to read a class that we've
+ already read.
+ Check that we really did read the right class.
+
+2004-09-25 Tom Tromey <tromey@redhat.com>
+
+ PR java/17500:
+ * parse.y (create_artificial_method): Use add_method_1.
+
+2004-09-25 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.c, jcf-dump.c, parse-scan.y, parse.y: Fix
+ comment typos.
+ * gcj.texi: Fix typos.
+
+2004-09-24 Tom Tromey <tromey@redhat.com>
+
+ PR java/15656:
+ * parse.y (class_instance_creation_expression): Set `$$' to NULL
+ in error parts of rule.
+ (unary_expression): Don't call error_if_numeric_overflow when $1
+ is NULL.
+
+2004-09-24 Tom Tromey <tromey@redhat.com>
+
+ PR java/16789:
+ * parse.y (resolve_qualified_expression_name): Set
+ CAN_COMPLETE_NORMALLY on first call when chaining static calls.
+ * expr.c (force_evaluation_order): Check for empty argument list
+ after stripping COMPOUND_EXPR.
+
+2004-09-23 Andrew Haley <aph@redhat.com>
+
+ PR java/16927:
+ * parse.y (java_complete_lhs): Call patch_string() on Operand 1 of
+ COND_EXPRs.
+
+2004-09-23 Tom Tromey <tromey@redhat.com>
+
+ PR java/17329:
+ * java-gimplify.c (java_gimplify_expr) <SAVE_EXPR>: Ignore case
+ where operand is null.
+
+2004-09-23 Tom Tromey <tromey@redhat.com>
+
+ PR java/17380:
+ * parse.y (not_accessible_p): Allow access to protected members
+ even when class is not static.
+
+2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Revert the gcc-none.o change.
+
+2004-09-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ * parse.y (patch_anonymous_class): VEC_space returns true if there
+ is space.
+
+2004-09-21 Matt Austern <austern@apple.com>
+
+ Fix bootstrap.
+ * gjavah.c (free_method_name_list): Fix function definition so
+ it's a proper C prototype.
+2004-09-21 Tom Tromey <tromey@redhat.com>
+
+ PR java/17575:
+ * gjavah.c (free_method_name_list): New method.
+ (main): Call it.
+
+2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
+ Zack Weinberg <zack@codesourcery.com>
+
+ * java-tree.def: Use tree_code_class enumeration constants
+ instead of code letters.
+ * java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for
+ new tree-class enumeration constants.
+
+2004-09-13 Tom Tromey <tromey@redhat.com>
+
+ PR java/17216:
+ * class.c (layout_class_method): Put synthetic methods into the
+ vtable.
+
+2004-09-11 Andrew Pinski <apinski@apple.com>
+
+ * Make-lang.in (java/ggc-none.c): Change dependency
+ for ggc.h into $(GGC_H).
+
+2004-09-11 Mohan Embar <gnustuff@thisiscool.com>
+
+ * Make-lang.in (java/win32-host.o): Add dependency on
+ coretypes.h.
+ * win32-host.c: Add includes for coretypes.h, jcf.h
+
+2004-09-11 Mohan Embar <gnustuff@thisiscool.com>
+
+ * Make-lang.in (GCJH_OBJS): Change dependency from
+ ggc-none.o to java/ggc-none.o
+ (JCFDUMP_OBJS): Likewise.
+ (java/ggc-none.o): New target.
+
+2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ * boehm.c (get_boehm_type_descriptor): Adjust build_int_cst calls.
+ * class.c (build_utf8_ref, build_static_field_ref,
+ make_field_value, make_method_value, get_dispatch_table,
+ make_class_data, emit_symbol_table, emit_catch_table): Likewise.
+ * constants.c (get_tag_node, build_ref_from_constant_pool,
+ build_constants_constructor): Likewise.
+ * decl.c (java_init_decl_processing): Likewise.
+ * expr.c (build_java_array_length_access, build_newarray,
+ expand_java_multianewarray, expand_java_pushc, expand_iinc,
+ build_java_binop, build_field_ref, expand_java_add_case,
+ expand_java_call, build_known_method_ref, build_invokevirtual,
+ build_invokeinterface, build_jni_stub): Likewise.
+ * java-gimplify.c (java_gimplify_new_array_init): Likewise.
+ * jcf-parse.c (get_constant): Likewise.
+ * lex.c (do_java_lex): Likewise.
+ * parse.y (patch_binop, patch_unaryop, patch_cast,
+ build_newarray_node, patch_newarray): Likewise.
+ * resource.c (compile_resource_data): Likewise.
+ * typeck.c (build_prim_array_type): Likewise.
+
+2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ * decl.c (java_init_decl_processing): Adjust
+ initialize_sizetypes call.
+
+2004-08-23 Nathan Sidwell <nathan@codesourcery.com>
+
+ * jv-scan.c (fancy_abort): Add.
+
+2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * expr.c (build_java_arrayaccess): Use convert to change
+ len's type.
+
+2004-08-19 Bryce McKinlay <mckinlay@redhat.com>
+
+ * class.c (make_local_function_alias): Allocate extra space for 'L'
+ in name buffer. Reported by Thomas Neumann.
+
+2004-08-19 Nathan Sidwell <nathan@codesourcery.com>
+
+ * parse.h (JAVA_RADIX10_FLAG): Rename to ...
+ (JAVA_NOT_RADIX10_FLAG): ... here. Invert meaning.
+ * lex.c (do_java_lex): Adjust.
+ (error_if_numeric_overflow): Likewise.
+
+2004-08-18 Andrew Pinski <apinski@apple.com>
+
+ * class.c (make_local_function_alias): Only make a new decl if we
+ support alias attribute on all decls.
+
+2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
+
+ * class.c (make_local_function_alias): New function. Create local
+ alias for public method DECL.
+ (make_method_value): Use make_local_function_alias.
+ * parse.y (craft_constructor): Don't special-case anonymous classes.
+ Always set ctor_name to init_identifier_node.
+ (lookup_method_invoke): Call layout_class_method when creating
+ anonymous class constructor.
+
+2004-08-18 Richard Henderson <rth@redhat.com>
+
+ * java-gimplify.c (java_gimplify_expr): Move '2' handling into
+ default case. Treat '<' similarly. Update for
+ is_gimple_formal_tmp_var name change.
+
+2004-08-17 Andrew Haley <aph@redhat.com>
+
+ * lang.c (lang_printable_name): Obey verbose flag.
+ * parse.y (constructor_circularity_msg): Set VERBOSE arg for
+ lang_printable_name().
+ (verify_constructor_circularity, get_printable_method_name,
+ check_abstract_method_definitions, java_check_regular_methods,
+ java_check_abstract_methods, check_inner_class_access,
+ fix_constructors, patch_method_invocation, patch_return):
+ Likewise.
+ * expr.c (pop_type_0): Likewise.
+
+ * java-tree.h (lang_printable_name_wls): Delete.
+
+2004-08-16 Tom Tromey <tromey@redhat.com>
+
+ PR java/8473:
+ * parse.y (primary): Changed for initialized and uninitialized
+ array creations.
+ (array_access): Handle array_creation_initialized.
+ (array_creation_expression): Split into
+ array_creation_initialized and array_creation_uninitialized.
+
+2004-08-16 Andrew Haley <aph@redhat.com>
+
+ * jcf-write.c (find_constant_index): Canonicalize NaNs when
+ generating bytecode.
+
+2004-08-16 Elliot Lee <sopwith@redhat.com>
+
+ PR java/9677
+ * jcf-parse.c (java_parse_file): Handle filenames with embedded
+ spaces, and quoted filelists.
+
+2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * boehm.c (get_boehm_type_descriptor): Use build_int_cst.
+ * class.c (build_utf8_ref, build_static_field_ref,
+ make_field_value, make_method_value, get_dispatch_table,
+ make_class_data, emit_symbol_table, emit_catch_table): Likewise.
+ * constants.c (get_tag_node, build_ref_from_constant_pool,
+ build_constants_constructor): Likewise.
+ * decl.c (java_init_decl_processing): Likewise.
+ * expr.c (build_java_array_length_access, build_newarray,
+ expand_java_multianewarray, expand_java_pushc, expand_iinc,
+ build_java_binop, build_field_ref, expand_java_add_case,
+ expand_java_call, build_known_method_ref, build_invokevirtual,
+ build_invokeinterface, build_jni_stub): Likewise.
+ * java-gimplify.c (java_gimplify_new_array_init): Likewise.
+ * jcf-parse.c (get_constant): Likewise.
+ * lex.c (do_java_lex): Likewise.
+ * parse.y (patch_binop, patch_unaryop, patch_cast,
+ build_null_of_type, patch_newarray): Likewise.
+ * resource.c (compile_resource_data): Likewise.
+ * typeck.c (build_prim_array_type): Likewise.
+
+2004-08-10 Bryce McKinlay <mckinlay@redhat.com>
+
+ * java-gimplify.c (java_gimplify_new_array_init): Use create_tmp_var.
+ Don't create BLOCK here or call java_gimplify_block.
+
+2004-08-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * java-tree.h (flag_deprecated): Removed.
+ * lang.opt (Wdeprecated): Use existing Var(warn_deprecated).
+ * parse.y (check_deprecation): Check warn_deprecated instead of
+ flag_deprecated.
+
+2004-08-06 Kelley Cook <kcook@gcc.gnu.org>
+
+ * lang.c (flag_emit_class_files, flag_filelist_file, flag_redundant,
+ flag_use_divide_subroutine, flag_use_boehm_gc, flag_store_check,
+ flag_hash_synchronization, flag_assert, flag_jni, flag_newer,
+ flag_check_references, flag_extraneous_semicolon, flag_deprecated,
+ flag_force_classes_archive_check, flag_optimize_sci,
+ flag_indirect_dispatch): Remove explicit declarations.
+ * lang.opt: Add implicit declare/define/assign. Remove obsolete
+ final comment.
+
+2004-08-05 Michael Chastain <mec.gnu@mindspring.com>
+
+ PR bootstrap/14893
+ * Make-lang.in (java.install-man): Install from either build
+ tree or source tree, whichever has the file first.
+
+2004-08-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * jcf-parse.c (get_constant): Adjust force_fit_type call.
+ * lex.h (SET_LVAL_NODE_TYPE): Remove.
+ * lex.c (java_perform_atof): Use SET_LVAL_NODE directly.
+ (do_java_lex): Likewise. Adjust force_fit_type call.
+
+2004-08-04 Roger Sayle <roger@eyesopen.com>
+ Andrew Haley <aph@redhat.com>
+
+ * typeck.c (convert_ieee_real_to_integer): Call fold on the range
+ checking trees as they're being built.
+ (convert): Call convert_ieee_real_to_integer if we're
+ converting a constant, even if we're writing a class file.
+
+2004-08-02 Bryce McKinlay <mckinlay@redhat.com>
+
+ PR java/16701
+ * parse.y (fold_constant_for_init): Call resolve_field_access with
+ correct current_class context.
+
+2004-08-01 Roger Sayle <roger@eyesopen.com>
+
+ * decl.c (update_aliases, initialize_local_variable): Replace calls
+ to build with calls to buildN.
+ * java-gimplify.c (java_gimplify_modify_expr): Likewise.
+ * java-tree.h (BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT): Likewise.
+ * parse.h (BUILD_THROW): Likewise.
+ * parse.y (switch_expression, synchronized_statement,
+ catch_clause_parameter, array_creation_expression,
+ conditional_expression, make_qualified_name,
+ resolve_qualified_expression_name, patch_method_invocation,
+ patch_invoke, build_method_invocation, build_new_invocation,
+ build_assignment, patch_assignment, build_binop, patch_binop,
+ build_string_concatenation, build_incdec, patch_unaryop,
+ patch_cast, build_array_ref, build_newarray_node, patch_newarray,
+ patch_return, build_if_else_statement, build_labeled_block,
+ build_new_loop, build_loop_body, build_bc_statement,
+ build_assertion, encapsulate_with_try_catch, build_try_statement,
+ build_try_finally_statement, patch_synchronized_statement,
+ emit_test_initialization): Likewise, replace build with buildN.
+
+2004-07-28 Eric Christopher <echristo@redhat.com>
+
+ * lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
+ (java_unsafe_for_reeval): Ditto.
+
+2004-07-26 <hp@bitrange.com>
+
+ * parse.y (build_super_invocation): Adjust declaration order to
+ avoid declaration after statement.
+
+2004-07-25 Bernardo Innocenti <bernie@develer.com>
+
+ * decl.c: Rename all identifiers named `class' to `cl'.
+
+2004-07-25 Richard Henderson <rth@redhat.com>
+
+ * decl.c (build_result_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P.
+
+2004-07-23 Mike Stump <mrs@apple.com>
+
+ * boehm.c (set_bit): Improve type safety wrt unsignedness.
+ * gjavah.c (throwable_p, decode_signature_piece,
+ print_full_cxx_name, print_include, add_namelet, add_class_decl,
+ process_file): Likewise.
+ * jcf-dump.c (main): Likewise.
+ * jcf-io.c (read_zip_member): Likewise.
+ * jcf-parse.c (HANDLE_CONSTANT_Utf8, get_constant,
+ give_name_to_class, get_class_constant): Likewise.
+ * jcf-write.c (find_constant_wide, push_long_const,
+ generate_classfile): Likewise.
+ * lex.c (java_new_lexer, java_read_char, cxx_keyword_p): Likewise.
+ * parse.y (read_import_dir): Likewise.
+ * typeck.c (parse_signature_type): Likewise.
+ * verify.c (verify_jvm_instructions): Likewise.
+ * zextract.c (find_zip_file_start, read_zip_archive): Likewise.
+
+2004-07-23 Thomas Fitzsimmons <fitzsim@redhat.com>
+
+ * Make-lang.in: Replace rmic and rmiregistry references with
+ grmic and grmiregistry.
+ * gcj.texi: Likewise.
+
+2004-07-20 Andrew Haley <aph@redhat.com>
+
+ PR java/16431.
+ * verify.c (verify_jvm_instructions): Comment change only.
+
+ * typeck.c (build_java_array_type): Add size field to array name.
+
+ * java-tree.h (LOCAL_SLOT_P): New.
+ (update_aliases): Add PC argument.
+ (pushdecl_function_level): New function.
+
+ * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
+ MODIFY_EXPR, and SAVE_EXPR.
+ (java_gimplify_modify_expr): New function.
+
+ * expr.c (push_type_0): Call find_stack_slot() to create temporary.
+ (expand_iinc): Pass PC to update_aliases().
+ (STORE_INTERNAL): Likewise.
+ (process_jvm_instruction): Likewise.
+
+ * decl.c (base_decl_map): New variable.
+ (uniq): New variable.
+ (update_aliases): Rewrite with more thorough checking.
+ (debug_variable_p): New function.
+ (push_jvm_slot): Don't initialize local variable. Don't pushdecl.
+ (check_local_named_variable): Delete whole function.
+ (initialize_local_variable): New function.
+ (check_local_unnamed_variable): Add checks and comments.
+ (find_local_variable): Rewrite.
+ (java_replace_reference): New function.
+ (function_binding_level): New variable.
+ (pushdecl_function_level): New function.
+ (maybe_pushlevels): Set DECL_LOCAL_END_PC.
+ (maybe_pushlevels): Call pushdecl() on each of the new decls.
+ (start_java_method): Reset uniq. Create base_decl_map. Set
+ function_binding_level.
+ (end_java_method): Null unused fields to save memory.
+
+2004-07-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * class.c (add_interface_do): Remove.
+ (set_super_info, interface_of_p, maybe_add_interface,
+ add_interface, make_class_data, layout_class,
+ add_miranda_methods): Adjust BINFO accessors and addition.
+ * expr.c (can_widen_reference_to, lookup_field): Adjust BINFO
+ accessors.
+ * jcf-write.c (generate_classfile): Likewise.
+ * parse.y (patch_anonymous_class, check_inner_circular_reference,
+ check_circular_reference, java_complete_class,
+ check_abstract_method_definitions,
+ java_check_abstract_method_definitions,
+ check_interface_throws_clauses, java_check_abstract_methods,
+ lookup_java_interface_method2,
+ find_applicable_accessible_methods_list): Adjust BINFO accessors
+ and addition.
+ * typeck.c (find_method_in_interfaces): Adjust BINFO accessors.
+
+2004-07-18 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (max_builtin, min_builtin,
+ java_build_function_call_expr): Replace calls to build with buildN.
+ * class.c (build_class_ref, build_static_field_ref,
+ get_dispatch_table, make_class_data, layout_class_method): Likewise.
+ * constants.c (build_ref_from_constant_pool): Likewise.
+ * decl.c (update_aliases, push_jvm_slot, poplevel, finish_method,
+ add_stmt_to_compound): Likewise.
+ * except.c (build_exception_object_ref, expand_end_java_handler):
+ Likewise.
+ * java-gimplify.c (java_gimplify_case_expr,
+ java_gimplify_default_expr, java_gimplify_block,
+ java_gimplify_new_array_init, java_gimplify_try_expr): Likewise.
+ * jcf-write.c (generate_bytecode_insns): Likewise.
+ * typeck.c (convert_ieee_real_to_integer): Likewise.
+
+2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * java-tree.h (builtin_function): Declare.
+
+2004-07-16 Steven Bosscher <stevenb@suse.de>
+
+ * parse.y (java_complete_expand_methods, java_expand_classes): Don't
+ abuse restore_line_number_status.
+
+2004-07-15 Frank Ch. Eigler <fche@redhat.com>
+
+ g++/15861
+ * jcf-parse.c (java_emit_static_constructor): Specify default
+ priority.
+
+2004-07-13 Per Bothner <per@bothner.com>
+
+ * java-tree.h (all_class_filename): Remove useless macro.
+ (enum java_tree_index): Remove JTI_ALL_CLASS_FILENAME constant.
+ (BUILD_FILENAME_IDENTIFIER_NODE): Remove useless macro.
+ * parse.y (java_parser_context_restore_global): Replace
+ BUILD_FILENAME_IDENTIFIER_NODE by plain get_identifier.
+ * jcf-parse.c (read_class, java_parse_file): Likewise.
+
+2004-07-12 Bryce McKinlay <mckinlay@redhat.com>
+
+ PR java/16474
+ gjavah.c (print_field_info): Emit constant only if field is static.
+
+2004-07-11 Roger Sayle <roger@eyesopen.com>
+
+ * expr.c (java_truthvalue_conversion, flush_quick_stack,
+ java_stack_swap, java_stack_dup, build_java_athrow, build_java_jsr,
+ build_java_ret, build_java_throw_out_of_bounds_exception,
+ build_java_array_length_access, java_check_reference,
+ build_java_arrayaccess, build_java_arraystore_check, build_newarray,
+ build_anewarray, expand_java_multianewarray, expand_java_arraystore,
+ expand_java_arrayload, build_java_monitor, expand_java_return,
+ expand_load_internal, expand_java_NEW, build_get_class,
+ build_instanceof, expand_java_CHECKCAST, expand_iinc,
+ build_java_soft_divmod, build_java_binop, build_field_ref,
+ expand_compare, expand_java_goto, expand_java_switch,
+ expand_java_add_case, build_class_init, build_known_method_ref,
+ invoke_build_dtable, build_invokevirtual, build_invokeinterface,
+ expand_invoke, build_jni_stub, expand_java_field_op,
+ java_expand_expr, expand_byte_code, STORE_INTERNAL,
+ force_evaluation_order, emit_init_test_initialization): Convert
+ calls to "build" into calls to the prefered "buildN" functions.
+
+2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * java-tree.h (set_block): Remove.
+ * lang.c (java_clear_binding_stack): New.
+ (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
+ * decl.c (struct binding_level): Remove this_block.
+ (clear_binding_level): Likewise.
+ (poplevel): Don't handle this_block.
+ (set_block): Remove.
+
+2004-07-10 Bryce McKinlay <mckinlay@redhat.com>
+
+ * class.c (common_enclosing_context_p): Remove statement with no
+ side-effects.
+
+2004-07-09 Bryce McKinlay <mckinlay@redhat.com>
+
+ PR java/8618
+ * parse.y (create_anonymous_class): Remove 'location' argument. Use
+ the WFL from TYPE_NAME to get line number for the decl. Fix comment.
+ (craft_constructor): Inherit access flags for implicit constructor
+ from the enclosing class.
+ (create_class): Fix comment typo.
+ (resolve_qualified_expression_name): Pass type of qualifier to
+ not_accessible_p, not the type in which target field was found.
+ (not_accessible_p): Handle inner classes. Expand protected
+ qualifier-subtype check to enclosing instances, but don't apply this
+ check to static members. Allow protected access to inner classes
+ of a subtype. Allow private access within common enclosing context.
+ (build_super_invocation): Get WFL line number info from current
+ class decl.
+ (build_incomplete_class_ref): Update for new create_anonymous_class
+ signature.
+ * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Use
+ common_enclosing_instance_p.
+ * class.c (common_enclosing_context_p): New. Determine if types
+ share a common enclosing context, even across static contexts.
+ (common_enclosing_instance_p): Renamed from
+ common_enclosing_context_p. Determines if types share a common
+ non-static enclosing instance.
+ * java-tree.h (common_enclosing_instance_p): Declare.
+ * jcf-write.c (get_method_access_flags): New. Surpress private flag
+ for inner class constructors.
+ (generate_classfile): Use get_method_access_flags.
+
+2004-07-09 Bryce McKinlay <mckinlay@redhat.com>
+
+ * class.c (interface_of_p): Check for null TYPE_BINFO.
+
+2004-07-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * class.c (make_class): Do not create binfo here.
+ (set_super_info): Create it here.
+ * java-tree.h (CLASS_HAS_SUPER): Cope with lack of a binfo.
+
+2004-07-08 Richard Henderson <rth@redhat.com>
+
+ * expr.c (case_identity, get_primitive_array_vtable,
+ java_expand_expr, emit_init_test_initialization): Remove.
+ * java-tree.h (java_expand_expr): Remove.
+ * lang.c (LANG_HOOKS_EXPAND_EXPR): Remove.
+
+2004-07-07 Per Bothner <per@bothner.com>
+
+ * class.c (build_static_field_ref): Add a NOP_EXPR; otherwise we
+ get internal error due to mismatched types.
+
+ * gcj.texi (Invoking gij): Document new -verbose:class flag.
+
+ * gcj.texi (Linking): New node. Document -lgij usage.
+
+2004-07-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * java-tree.h (CLASSTYPE_SPUER): Adjust BINFO macros.
+ (TYPE_NVIRTUALS, TYPE_VTABLE): Likewise.
+ * java/class.c (set_super_info, class_depth, interface_of_p,
+ maybe_add_interface, add_interface, make_class_data,
+ layout_class, add_miranda_methods): Adjust BINFO macros.
+ * expr.c (can_widen_reference_to, lookup_field): Likewise.
+ * jcf-write.c (generate_classfile): Likewise.
+ * parse.y (patch_anonymous_class,
+ check_inner_circular_reference, check_circular_reference,
+ java_complete_class, check_abstract_method_definitions,
+ java_check_abstract_method_definitions,
+ check_interface_throws_clauses, java_check_abstract_methods,
+ lookup_java_interface_method2,
+ find_applicable_accessible_methods_list): Likewise.
+ * typeck.c (find_method_in_interface): Likewise.
+ * verify.c (merge_types): Likewise.
+
+2004-07-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * java-tree.h (CLASS_HAS_SUPER_FLAG): Use BINFO_FLAG_1.
+ * class.c (add_interface_do): Use BINFO_VIRTUAL_P.
+
+2004-07-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * class.c (make_class): Use make_tree_binfo.
+ (set_super_info, add_interface_do): Likewise.
+ * java-tree.h (CLASS_HAS_SUPER_FLAG): Expect a BINFO.
+
+2004-07-04 Ranjit Mathew <rmathew@hotmail.com>
+
+ * verify.c: Correct array element access formatting thinko.
+
+2004-07-04 Ranjit Mathew <rmathew@hotmail.com>
+
+ * verify.c: Insert a short blurb at the start referring to the JVMS.
+ (merge_type_state): Remove redundant nested if statement.
+ (verify_jvm_instructions): Ensure current_subr is initialised to
+ NULL_TREE.
+ Minor formatting fixes all over the place.
+
+2004-07-02 Richard Henderson <rth@redhat.com>
+
+ * jcf-write.c (generate_bytecode_insns <case SAVE_EXPR>): Rewrite.
+
+2004-07-01 Richard Henderson <rth@redhat.com>
+
+ * class.c (registerClass_libfunc): Remove.
+ (init_class_processing): Don't set it.
+ (emit_register_classes): Take list_p parameter. Fill it in
+ with _Jv_RegisterClass calls.
+ * decl.c (java_init_decl_processing): Don't call
+ init_resource_processing.
+ * jcf-parse.c (java_emit_static_constructor): New.
+ (java_parse_file): Call it.
+ * resource.c (registerResource_libfunc): Remove.
+ (init_resource_processing): Remove.
+ (write_resource_constructor): Take list_p parameter. Fill it in
+ with _Jv_RegisterResource calls.
+ * java-tree.h: Update prototypes.
+
+2004-06-29 Bryce McKinlay <mckinlay@redhat.com>
+
+ PR java/1262
+ * class.c (layout_class_method): Do not override package-private
+ method if its in a different package.
+ (split_qualified_name): Move here from parse.y. Rename from
+ breakdown_qualified. Add comment.
+ (in_same_package): Move here from parse.y. Add comment.
+ * java-tree.h (break_down_qualified, in_same_package): Declare.
+ (in_same_package): Likewise.
+ * parse.y (breakdown_qualified, in_same_package): Moved to class.c.
+ Callers updated.
+
+2004-06-29 Andrew Haley <aph@redhat.com>
+
+ * except.c (expand_start_java_handler): Push a new binding level.
+ Don't build a TRY_CATCH_EXPR now, we'll do it later. Call
+ register_exception_range() to register where we'll do it.
+ (expand_end_java_handler): Remove old bogus code. Replace with
+ new logic that simply builds TRY_CATCH_EXPRs and inserts them at
+ the top of the expression we're curently building.
+ (maybe_end_try): Delete.
+ * decl.c (binding_level.exception_range): New field.
+ (clear_binding_level): Add field exception_range. Reformat.
+ (poplevel): Call expand_end_java_handler().
+ (poplevel): Call java_add_stmt only if functionbody is false.
+ (maybe_poplevels): Don't call maybe_end_try() from here.
+ (end_java_method): Clear no longer used trees in function decl.
+ (register_exception_range): New function.
+ * java-tree.h (register_exception_range, struct eh_range): Declare.
+
+2004-06-28 Bryce McKinlay <mckinlay@redhat.com>
+
+ * jcf-write.c (get_classfile_modifiers): Formatting fixes.
+
+2004-06-27 Ranjit Mathew <rmathew@hotmail.com>
+
+ Formatting fixes.
+ * expr.c (class_has_finalize_method): Fix method name indentation.
+ (expand_java_call): Remove K&R style parameter declaration.
+ (expand_invoke): Fix statement indentation.
+ (expand_java_field_op): Likewise.
+ * parse-scan.y: Fix typo.
+ (reset_report): Fix method name indentation.
+ * parse.y (unresolved_type_p, build_expr_block): Remove extra blank
+ line. Fix typos.
+ * verify.c (verify_jvm_instructions): Document parameters, insert
+ page break.
+ * lang.c (lang_init_source): Fix method name indentation.
+ * class.c (common_enclosing_context_p): Likewise.
+ (emit_symbol_table): Fix parameter list indentation.
+ * decl.c (add_stmt_to_compound, java_add_stmt): Remove K&R style
+ parameter declaration.
+ * constants.c: Fix copyright notice indentation.
+ * typeck.c (find_method_in_superclasses): Fix parameter list
+ indentation.
+ (find_method_in_interfaces): Likewise.
+ * zextract.c (makelong): Fix method name indentation.
+
+2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
+
+ PR java/15715.
+ * parse.y (create_interface): Set correct access modifiers for
+ interfaces.
+ * jcf-write.c (get_classfile_modifiers): New function.
+ (generate_classfile): Use get_classfile_modifiers, not
+ get_access_flags.
+
+2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
+
+ * parse.y (register_incomplete_type): Set JDEP_ENCLOSING for "super"
+ dependency to current parser context, not NULL_TREE, for top-level
+ classes.
+ (jdep_resolve_class): Enable member access check for all inner
+ class dependencies.
+
+2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
+
+ * parse.y (qualify_and_find): Pass type decl, not identifier, to
+ load_class.
+
+2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
+
+ PR java/15734
+ * expr.c (expand_java_field_op): Ensure that target class for static
+ field access has been loaded.
+
+2004-06-26 Bryce McKinlay <mckinlay@redhat.com>
+ Ranjit Mathew <rmathew@hotmail.com>
+
+ PR java/1207, java/16178
+ * jcf-parse.c (load_class): Return immediately if passed a type decl
+ where CLASS_FROM_SOURCE_P is set. Remove FIXME.
+ * parse.y (do_resolve_class): Remove checks for CLASS_FROM_SOURCE_P
+ before calling load_class.
+ (qualify_and_find): Likewise.
+ (find_in_imports_on_demand): Likewise.
+ (find_applicable_accessible_methods_list): Likewise.
+
+2004-06-24 Bryce McKinlay <mckinlay@redhat.com>
+
+ * parse.y (java_layout_seen_class_methods): Don't call load_class
+ on class defined by source parser.
+
+2004-06-23 Bryce McKinlay <mckinlay@redhat.com>
+
+ * parse.y (set_nested_class_simple_name_value): Removed.
+ (java_complete_expand_class): Remove calls to
+ set_nested_class_simple_name_value.
+
+2004-06-22 Andrew Haley <aph@redhat.com>
+ Ranjit Mathew <rmathew@hotmail.com>
+
Fixes PR java/16113.
* decl.c (force_poplevels): Remove call to expand_end_bindings.
(emit_init_test_initialization): Likewise.
* java-gimplify.c (java_gimplify_new_array_init): Likewise.
* parse.y (make_qualifed_name, build_array_ref): Likewise.
-
+
2004-06-21 Andrew Haley <aph@redhat.com>
* java-gimplify.c (java_gimplify_block): set TREE_USED on the new
do not set current_function_cannot_inline.
* resource.c (write_resource_constructor): Do not reset
flag_inline_functions around rest_of_compilation.
-
+
2004-06-08 Andrew Pinski <pinskia@physics.uc.edu>
PR java/15769
of unordered conditionals. Add comment.
2004-05-29 Ranjit Mathew <rmathew@hotmail.com>
- Per Bothner <per@bothner.com>
+ Per Bothner <per@bothner.com>
* java-tree.h (DECL_LOCAL_FINAL_IUD): New macro to test if a
local variable was initialised upon declaration.
2004-05-28 Bryce McKinlay <mckinlay@redhat.com>
- * jcf-write.c (generate_bytecode_conditional): Handle binops
- UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR,
+ * jcf-write.c (generate_bytecode_conditional): Handle binops
+ UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR,
and LTGT_EXPR.
(generate_bytecode_insns): Likewise.
Fix comment typo.
Use check_pkg_class_access() instead of not_accessible_p()
for unqualified types.
- (not_accessible_p): Use DECL_CONTEXT (member) instead of
+ (not_accessible_p): Use DECL_CONTEXT (member) instead of
REFERENCE for package-private access checking.
(patch_method_invocation): Use accessibility_string() instead
of java_accstring_lookup().
2004-04-19 Bryce McKinlay <mckinlay@redhat.com>
* class.c (make_class_data): Add new field aux_info.
- * decl.c (java_init_decl_processing): Push type and decl for
+ * decl.c (java_init_decl_processing): Push type and decl for
`aux_info'.
2004-04-15 Bryce McKinlay <mckinlay@redhat.com>
- * expr.c (expand_java_NEW): Don't use size argument for
+ * expr.c (expand_java_NEW): Don't use size argument for
_Jv_AllocObject calls.
* parse.y (patch_invoke): Likewise.
2004-04-12 Bryce McKinlay <mckinlay@redhat.com>
- * class.c (get_interface_method_index): New function. Return dispatch
+ * class.c (get_interface_method_index): New function. Return dispatch
index for interface method.
(make_method_value): For interface methods, set index field to
iface dispatch index, not DECL_VINDEX.
java.lang.Object.
(register_fields): Field initialization is now a MODIFY_EXPR
node. Chain initialization code to the matching lists (according
- the the field declaration modifiers).
+ to the field declaration modifiers).
(maybe_generate_clinit): New function.
(method_header): Don't set method's DECL_NAME to a WFL when adding
methods to java.lang.Object.