OSDN Git Service

Index: ChangeLog
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
index b46ec5b..d8cdd41 100644 (file)
@@ -1,3 +1,407 @@
+2005-06-13  Geoffrey Keating  <geoffk@apple.com>
+
+       * Make-lang.in (rule for installing gcj.1): Depends on installdirs.
+
+2005-06-13  Per Bothner  <per@bothner.com>
+
+       * expr.c (int highest_label_pc_this_method,
+       start_label_pc_this_method): New globals.
+       (lookup_label): Add start_label_pc_this_method to pc for label, and
+       update highest_label_pc_this_method.  This prevents conflicts between
+       labels from different methods.
+       * java-tree.h: Declare new globals.
+       * jcf-parse.c (parse_class_file): If needed bump
+       start_label_pc_this_method and reset highest_label_pc_this_method.
+
+2005-06-13  Tom Tromey  <tromey@redhat.com>
+
+       PR java/21844:
+       * parse.y (nested_field_access_p): Handle case where outer field
+       is inherited by enclosing class.
+
+2005-06-12  Per Bothner  <per@bothner.com>
+
+       * class.c (inherits_from_p): Do load_class if needed.
+
+2005-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
+       * java-tree.h (parse_error_context): Move...
+       * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
+       * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
+       * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
+
+2005-06-08  Roger Sayle  <roger@eyesopen.com>
+
+       * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
+
+2005-06-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
+       msgid for argument name.
+       * gjavah.c (error): Likewise.
+       * java-tree.h (parse_error_context): Likewise.
+       * parse.y (parse_error_context, parse_warning_context,
+       issue_warning_error_from_context): Likewise.
+
+2005-06-01  Tom Tromey  <tromey@redhat.com>
+
+       PR java/21722:
+       * class.c (build_static_field_ref): Don't fold constant fields if
+       current class is from a .class file and we're using indirect
+       dispatch.
+
+2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * java/verify-glue.c: Don't include errors.h and include toplev.h.
+       * java/Make-lang.in: Updates dependencies.
+
+2005-05-26  Ranjit Mathew  <rmathew@hotmail.com>
+
+       PR java/19870.
+       * java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
+       NESTED_FIELD_ACCESS_IDENTIFIER_P.
+       (FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
+       (FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
+       * jcf-write.c (generate_classfile): Use
+       NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
+       OUTER_FIELD_ACCESS_IDENTIFIER_P.
+       * parse.y (build_outer_field_access): Rename to
+       build_nested_field_access. Support static fields and outer-to-inner
+       class accesses.
+       (outer_field_access_p): Rename to nested_field_access_p. Support
+       static fields and generalise to outer-to-inner class and sibling
+       inner class accesses.
+       (outer_field_expanded_access_p): Rename to
+       nested_field_expanded_access_p and support static fields.
+       (outer_field_access_fix): Rename to nested_field_access_fix and
+       support static fields.
+       (build_outer_field_access_expr): Rename to
+       build_nested_field_access_expr and support static fields.
+       (build_outer_field_access_methods): Rename to
+       build_nested_field_access_methods and support static fields. For
+       static fields, generate accessors without class instance parameters.
+       (build_outer_field_access_method): Rename to
+       build_nested_field_access_method and support static fields.
+       (build_outer_method_access_method): Use
+       NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
+       OUTER_FIELD_ACCESS_IDENTIFIER_P.
+       (resolve_expression_name): Consider static field accesses across
+       nested classes.
+       (resolve_qualified_expression_name): Likewise.
+       (java_complete_lhs): Use nested_field_access_fix instead of
+       outer_field_access_fix.
+       (patch_unary_op): Rename outer_field_flag to nested_field_flag.
+       Use nested_field_expanded_access_p instead of
+       outer_field_expanded_access_p. Use nested_field_access_fix instead
+       of outer_field_access_fix.
+       (check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
+       instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
+
+2005-05-26  Bryce McKinlay  <mckinlay@redhat.com>
+
+       * decl.c (GCJ_BINARYCOMPAT_ADDITION, 
+       GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
+       (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
+       MINOR_BINARYCOMPAT_ABI_VERSION): New.
+       (GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
+       (parse_version): Calculate version ID using new method. Use bit-flags
+       for flag_indirect_dispatch and flag_bootstrap_classes.
+
+2005-05-25  Richard Henderson  <rth@redhat.com>
+
+       PR libgcj/21692
+       * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
+       * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
+       DECL_CONTEXT; avoid pushdecl_top_level.
+       (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
+       (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
+       (layout_class_method): Likewise.
+       * decl.c (java_mark_cni_decl_local): New.
+       (java_mark_class_local): Use it.
+       * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
+       (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
+       (struct lang_decl_func): Add local_cni;
+       (struct lang_decl_var): Add class_field, vtable.
+       (java_mangle_decl): Declare.
+       * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
+       * mangle.c: Remove dup obstack.h; include langhooks-def.h.
+       (mangle_obstack_1): New.
+       (java_mangle_decl): Remove obstack argument.  Call mangle_class_field,
+       mangle_vtable, and mangle_local_cni_method_decl.  Fall back to
+       lhd_set_decl_assembler_name for things that don't need mangling.
+       (mangle_class_field): Rename from java_mangle_class_field, make
+       static, don't call init_mangling or finish_mangling.
+       (mangle_vtable): Similarly.
+       (mangle_local_cni_method_decl): New.
+       (init_mangling): Remove obstack argument.  Use &mangle_obstack_1,
+       gcc_assert, and MANGLE_RAW_STRING.
+       (finish_mangling): Use gcc_assert, remove if 0 debugging code.
+
+2005-05-25  DJ Delorie  <dj@redhat.com>
+
+       * class.c (set_constant_value): Move warning control from if() to
+       warning(OPT_*).
+
+2005-05-24  Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (define_builtin): Don't call make_decl_rtl.
+       * constants.c (build_constant_data_ref): Likewise.
+       * class.c (build_utf8_ref): Likewise.
+       (build_fieldref_cache_entry, build_static_field_ref): Likewise.
+       (get_dispatch_table, layout_class_method): Likewise.
+       (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
+       by hand.
+       (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
+       (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
+       to determine if we need a non-zero address.
+       * decl.c (builtin_function): Don't call make_decl_rtl.
+       (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
+       * expr.c (build_known_method_ref): Don't call make_decl_rtl.
+       * resource.c (compile_resource_data): Likewise.
+       * parse.y (resolve_field_access): Re-word comment to avoid
+       building DECL_RTL.
+
+2005-05-24  Richard Henderson  <rth@redhat.com>
+
+       * class.c (registered_class): Take it out of class_roots; turn into
+       a vec of trees.
+       (register_class): Make static.  Don't duplicate decl node.  Use
+       VEC_safe_push.
+       (emit_register_classes): Use VEC_iterate.  Use output_constant
+       instead of assemble_integer.  Don't call mark_decl_referenced
+       directly.
+       * java-tree.h (register_class): Remove decl.
+
+2005-05-19  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR java/17845
+
+       * parse.y (register_package, package_list): Remove.
+       (package_declaration): Do not call register_package.
+       (do_resolve_class): Do not use package_list.
+
+2005-05-15  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
+       unused variable.
+
+2005-05-15  Tom Tromey  <tromey@redhat.com>
+
+       PR java/21519:
+       * jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
+       NOTE_PUSH.
+
+2005-05-12  Aaron Luchko <aluchko@redhat.com>
+
+       * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
+
+2005-05-11  Tom Tromey  <tromey@redhat.com>
+
+       * gcj.texi (Code Generation): Document -fbootstrap-classes.
+       * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
+       (parse_version): Use it.
+       * lang.opt (-fbootstrap-classes): New option.
+
+2005-05-10  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR java/21436
+       * class.c (maybe_layout_super_class): Look for imports in this_class.
+       * parse.h (ctxp_for_generation_last): New.
+       (do_resolve_class): Add a parameter.
+       * parse.y (ctxp_for_generation_last): New.
+       (java_pop_parser_context): Add at end of list.
+       (find_in_imports, find_in_imports_on_demand): Look in ctxp
+       if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
+       the given type are NULL.
+       (do_resolve_class): Look into the imports of the new second parameter.
+       Adjust recursive calls.
+       (resolve_class, resolve_inner_class, find_as_inner_class): Adjust
+       calls to do_resolve_class.
+       (create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
+       (java_complete_class): Do not do that here.
+
+2005-05-03  Thomas Fitzsimmons  <fitzsim@redhat.com>
+
+       PR java/20309
+       * Make-lang.in (java): Add gjnih.
+       (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
+       (GJNIH_OBJS): New variable.
+       (gjnih$(exeext)): New target.
+       (JAVA_MANFILES): Add gjnih.1.
+       (java.uninstall): Add gjnih.1.
+       (java.mostlyclean): Add gjnih.
+       (java.maintainer-clean): Add gjnih.1.
+       (java/gjavah-jni.o): New target.
+       (.INTERMEDIATE): Add gjnih.pod.
+       (gjnih.pod): New target.
+       * config-lang.in (stagestuff): Add gjnih.
+       * gcj.texi (Top): Add gjnih node.
+       (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
+       -bootclasspath options.
+       (Invoking gjnih): New node.
+       * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
+       (TOOLNAME): New macro.
+       (error): Replace hard-coded gcjh with TOOLNAME.
+       (process_file): Likewise.
+       (usage): Likewise.
+       (version): Likewise.
+       (help): Likewise.  Add help output for -force, -old, -trace and -J
+       options.
+       (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
+       (options): Add force, old, trace and J fields.
+       (main): Handle -force, -old, -trace and -J options.
+
+2005-05-03  Tom Tromey  <tromey@redhat.com>
+
+       PR java/21245:
+       * gjavah.c (main): Unlink output file on error.
+
+2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * constants.c, jvgenmain.c, lang.opt, resource.c: Update
+       copyright.
+
+2005-04-29  Tom Tromey  <tromey@redhat.com>
+
+       * expr.c (build_jni_stub): Updated for change to build_block.
+
+2005-04-29  Andrew Pinski  <pinskia@gcc.gnu.org>
+
+       * expr.c (force_evaluation_order): Declare 'saved' earlier.
+
+2005-04-28  Andrew Haley  <aph@redhat.com>
+
+       PR java/19285
+       * java-tree.h (soft_resolvepoolentry_node): New.
+       (alloc_constant_fieldref): Declare.
+       * expr.c (expand_java_field_op): Don't call class_init for
+       accesses to static fields with indirect dispatch.
+       * builtins.c (initialize_builtins): Add "__builtin_expect".
+       * decl.c (soft_resolvepoolentry_node): New variable.
+       (java_init_decl_processing): Create a decl for
+       "_Jv_ResolvePoolEntry".
+       * class.c (build_fieldref_cache_entry): New function.
+       (build_static_field_ref): Rewrite for indirect dispatch.
+       * constants.c (find_name_and_type_constant_tree): New function.
+       (alloc_constant_fieldref): Likewise.
+       (build_constants_constructor): Handle CONSTANT_Fieldref and
+       CONSTANT_NameAndType.
+
+       PR java/21115
+       * expr.c (force_evaluation_order): Convert outgoing args smaller
+       than integer.
+
+2005-04-27  Bryce McKinlay  <mckinlay@redhat.com>
+
+       * gcj.texi (libgcj Runtime Properties): Remove obsolete
+       gnu.gcj.runtime.NameFinder.* system properties. Update documentation 
+       for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
+
+2005-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
+       to `unlock_stream' with `unlock_std_streams'.
+
+2005-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
+       instead of just expr.h.
+
+2005-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gjavah.c (main): Unlock the stdio streams.
+       * jcf-dump.c (main): Likewise.
+       * jv-scan.c (main): Likewise.
+       * jvgenmain.c (main): Likewise.
+
+2005-04-23  DJ Delorie  <dj@redhat.com>
+
+       * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c,
+       parse.y: Adjust warning() callers.
+
+2005-04-21  Bryce McKinlay  <mckinlay@redhat.com>
+
+       * gcj.texi (Object fields): Change "Integer" to "Int" in example
+       contructor.
+
+2005-04-20  Bryce McKinlay  <mckinlay@redhat.com>
+
+       * gcj.texi: Fix typos and bogus example.
+
+2005-04-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * except.c: Fix a comment typo.
+
+2005-04-19  Julian Brown  <julian@codesourcery.com>
+
+       * decl.c (finish_method): Revert patch from 2005-04-13 for breaking
+       indirect dispatch with PIC.
+
+2005-04-18  Andrew Haley  <aph@redhat.com>
+
+       * java-except.h (struct eh_range.handler): Remove unused field.
+       (handle_nested_ranges): Remove function declaration.
+       (sanity_check_exception_range): Add function declaration.       
+       * verify.c (verify_jvm_instructions): Remove call to
+       handle_nested_ranges.
+       * verify-glue.c (verify_jvm_instructions_new): Call
+       sanity_check_exception_range.
+       * except.c (link_handler, eh_range_freelist, link_handler,
+       handle_nested_ranges): Remove.
+       (add_handler): Rewrite.
+       (sanity_check_exception_range): New function.
+       (print_ranges): New function.
+
+2005-04-13  Julian Brown  <julian@codesourcery.com>
+
+       * decl.c (finish_method): Give methods once-only linkage.
+
+2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
+
+       * lang.opt: Refer to the GCC internals documentation instead of c.opt.
+
+2005-04-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * java-tree.h: Don't use PARAMS().
+
+2005-04-07  Per Bothner  <per@bothner.com>
+
+       * class.c (push_class): By default, suppress debug output.
+       (finish_class): Enable debug output for classes we're emitting.
+
+2005-04-07  Andrew Haley  <aph@redhat.com>
+
+       * gcj.texi: Correct gcj-dbtool instructions.
+
+2005-04-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * gcj.texi: Fix a typo.
+       * lang.c: Fix a comment typo.
+
+2005-04-01  Thomas Fitzsimmons  <fitzsim@redhat.com>
+
+       * gcj.texi (Invoking gij): Add descriptions of new -X options.
+       Mention recognized-and-ignored compatibility options.
+       (Memory allocation): Add descriptions of JvMalloc, JvRealloc and
+       JvFree.
+       (About CNI): Add Memory allocation section.
+
+2005-04-01  Tom Tromey  <tromey@redhat.com>
+
+       * decl.c (java_init_decl_processing): Fix types of
+       _Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
+       _Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
+       _Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.
+
+2005-03-31  Jan Hubicka  <jh@suse.cz>
+
+       * Make-lang.in (class.o, decl.o): Depend on cgraph.h.
+       * class.c: Include cgraph.h
+       (make_local_functoin_alias): Mark aslias as needed.
+       * resource.c: Include cgraph.h
+       (compile_resource_data): Go via cgraph interface.
+
 2005-03-30  Ian Lance Taylor  <ian@airs.com>
 
        * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
        properly initialize `finished_label'. Don't emit gotos for empty
        try statements.
 
-2000-03-19  Martin v. Lรถwis  <loewis@informatik.hu-berlin.de>
+2000-03-19  Martin v. Loewis  <loewis@informatik.hu-berlin.de>
 
        * except.c (emit_handlers): Clear catch_clauses_last.
 
        (CLASS_P): Moved around.
        (java_parse_abort_on_error): Macro moved from jcf-parse.c
        * jcf-parse.c (java_parse_abort_on_error): Macro moved to
-       java-parse.h
+       java-tree.h
        (jcf_parse_source): Changed leading comment. Removed unnecessary
        fclose and CLASS_FROM_SOURCE_P marking.
        (parse_source_file): New local variables remember_for_generation