OSDN Git Service

* java-tree.def (THIS_EXPR): Now a tcc_expression.
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
index b21f082..9635aa8 100644 (file)
@@ -1,3 +1,437 @@
+2006-05-04  Tom Tromey  <tromey@redhat.com>
+
+       * java-tree.def (THIS_EXPR): Now a tcc_expression.
+
+2006-05-04  Andrew Haley  <aph@redhat.com>
+
+       * class.c (make_field_value): Always build_address_of fdecl if
+       there is an initializer.
+
+2006-05-03  Andrew Haley  <aph@redhat.com>
+
+       PR libgcj/27352
+       * expr.c (maybe_rewrite_invocation): New function.
+       (rewrite_arglist_getclass): Likewise.
+       (rules): New.
+       (expand_invoke): Call maybe_rewrite_invocation.
+       * parse.y (patch_invoke): Likewise.
+       * java-tree.h: (maybe_rewrite_invocation): New function.
+
+2006-04-21  Andrew Haley  <aph@redhat.com>
+
+       * lang.c (java_init): Handle flag_indirect_classes.
+       * jvgenmain.c: Use "class$$" instead of "class$".
+       * mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
+       DECLs.
+       (mangle_class_field): Special case "class$$" as well as "class$".
+       * constants.c (build_ref_from_constant_pool): If
+       flag_indirect_classes, generate a ref into the heap.
+       * decl.c (constants_field_decl_node,
+       constants_data_field_decl_node): New.
+       * class.c (build_static_class_ref): New.
+       (build_classdollar_field): Factor out from build_class_ref().
+       (make_field_value): Handle static fields in heap.
+       (make_class_data): Make sure we get a static ref to class.
+       Make class initializer const if flag_indirect_classes.
+       (register_class): Build a class_ref for initialization if
+       flag_indirect_classes.
+       (emit_indirect_register_classes): New.
+
+2006-04-08  Kazu Hirata  <kazu@codesourcery.com>
+
+       * expr.c, gjavah.c: Fix comment typos.
+
+2006-04-03  Andrew Haley  <aph@redhat.com>
+
+       PR java/26858
+       * expr.c (build_field_ref): Don't check the field offset if
+       flag_syntax_only.
+
+2006-03-30  Andrew Haley  <aph@redhat.com>
+
+       PR java/26858
+       * lang.c (java_attribute_table): New.
+       (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
+       * expr.c (build_field_ref): Add a null pointer check for all
+       fields of offset > 4k.  Don't do so for accesses via the this
+       pointer, which we know can never be null.
+       * class.c (build_java_method_type): Mark arg 1 of all nonstatic
+       methods nonnull.
+
+2006-03-30  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * Make-lang.in: Rename docdir to gcc_docdir.
+
+2006-03-30  Tom Tromey  <tromey@redhat.com>
+
+       PR java/26042:
+       * parse.y (java_reorder_fields): Reset superclass field's size as
+       well.
+
+2006-03-28  Tom Tromey  <tromey@redhat.com>
+
+       PR java/26390:
+       * parse.y (find_most_specific_methods_list): Added 'class'
+       argument.
+       (lookup_method_invoke): Updated.
+
+2006-03-15  Tom Tromey  <tromey@redhat.com>
+
+       * jcf-write.c (generate_bytecode_insns): Use qualifying type for
+       non-static method calls.
+
+2006-03-15  David Daney  <ddaney@avtrex.com>
+
+       * java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
+       declaration.
+
+2006-03-15  David Daney  <ddaney@avtrex.com>
+
+       * lang.opt (-freduced-reflection): New option.
+       * lang.c (java_post_options): Generate an error if
+       -freduced-reflection used with -fjni or -findirect-dispatch.
+       * java-tree.h (flag_reduced_reflection): Declare new variable.
+       * boehm.c (get_boehm_type_descriptor): Indicate all pointers
+       if bitmap overflows and flag_reduced_reflection set.
+       * class.c (uses_jv_markobj_p): New function.
+       (make_class_data): Moved generation of vtable to before
+       reflection data, generate less reflection data if
+       flag_reduced_reflection set.
+       * gcj.texi: Document -freduced-reflection.
+
+2006-03-15  Tom Tromey  <tromey@redhat.com>
+
+       PR java/26638:
+       * class.c (get_interface_method_index): Don't put <clinit> into
+       interface table.
+
+2006-03-15  Tom Tromey  <tromey@redhat.com>
+
+       * parse.y (analyze_clinit_body): Ignore empty statements.
+
+2006-03-08  David Daney  <ddaney@avtrex.com>
+
+       * gcj.texi: Document -static-libgcj option.
+
+2006-02-20  Andrew Haley  <aph@redhat.com>
+
+       * jcf-parse.c (parse_class_file): Set input_location from
+       current_class.
+
+2006-02-15  Andrew Haley  <aph@redhat.com>
+
+       * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
+       (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
+       TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
+
+2006-02-09  Andrew Haley  <aph@redhat.com>
+
+       PR java/26192
+       * expr.c (expand_invoke): Allow methods in arrays to be resolved
+       in their superclass.
+
+       * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
+       array types.
+       
+2006-02-08  Tom Tromey  <tromey@redhat.com>
+
+       PR java/22578:
+       * check-init.c (check_init): Handle VIEW_CONVERT_EXPR.
+       * builtins.c (convert_real): New function.
+       (java_builtins): Handle Float.intBitsToFloat,
+       Float.floatToRawIntBits, Double.longBitsToDouble,
+       Double.doubleToRawLongBits.
+
+2006-02-07  Andrew Haley  <aph@redhat.com>
+
+       * expr.c (expand_invoke): (BC mode.)  If we find a method in a
+       class other than the one in which we expected to find it, ignore
+       the result.
+
+       PR java/25535
+       * constants.c (build_constants_constructor): move initializer into
+       first halfword on a 64-bit big-endian machine.
+2006-02-04  Tom Tromey  <tromey@redhat.com>
+
+       PR java/25676:
+       * builtins.c (max_builtin): Skip floating point 'max'.
+       (min_builtin): Skip floating point 'min'.
+       (check_for_builtin): Never return NULL_TREE.
+
+2006-02-04  Tom Tromey  <tromey@redhat.com>
+
+       PR java/26097:
+       * expr.c (push_type): Avoid side effect in gcc_assert.
+
+2006-02-04  Roger Sayle  <roger@eyesopen.com>
+
+       * decl.c (java_init_decl_processing): Create char_type_node as a
+       regular INTEGER_TYPE node.
+       (push_promoted_type): Preserve TYPE_STRING_FLAG on types.
+       * typeck.c (convert): No longer check for CHAR_TYPEs but instead
+       test for char_type_node and promoted_char_type_node as special
+       instances of INTEGER_TYPE tree codes.
+       (promote_type,build_java_signature): Likewise.
+       * jcf-write.c (adjust_typed_op): Likewise.
+       * mangle.c (mangle_type): Likewise.
+       * parse.y (do_unary_numeric_promotion): No longer handle CHAR_TYPE.
+       * parse.h (JINTEGRAL_TYPE_P): Likewise.
+
+2006-02-04  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * expr.c (java_stack_swap): Revert gcc_assert patch.
+
+2006-02-03  Ben Elliston  <bje@au.ibm.com>
+
+       * java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
+       * typeck.c: Likewise.
+       * verify-impl.c: Likewise.
+       * class.c: Likewise.
+       * decl.c: Likewise.
+       * jcf-parse.c: Likewise.
+       * constants.c: Likewise.
+       * check-init.c: Likewise.
+       * jcf-write.c: Likewise.
+       * verify-glue.c: Likewise.
+       * mangle.c: Likewise.
+       * expr.c: Likewise.
+       * lang.c: Likewise.
+       * boehm.c: Likewise.
+
+2006-02-01  Jan Hubicka  <jh@suse.cz>
+
+       * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
+       * lang.c (java_init_options): Set no_unit_at_a_time_default.
+
+2006-01-30  Andrew Haley  <aph@redhat.com>
+
+       PR java/21428
+       * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this").
+
+2006-01-21  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
+       Update copyright notice dates.
+
+2006-01-16  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+
+       * jvspec.c (lang_specific_spec_functions): Remove.
+
+2006-01-06  Tom Tromey  <tromey@redhat.com>
+
+       * gcj.texi (Arrays): Added more documentation for
+       JvNewObjectArray.
+       (Primitive types): Correct information about primitive classes.
+       (Reference types): New node.
+       (Index): New node.
+
+2005-12-16  Alexandre Oliva  <aoliva@redhat.com>
+
+       * jcf-parse.c (set_source_filename): Set the decl source location
+       even when returning early.
+
+2005-12-15  Tom Tromey  <tromey@redhat.com>
+           Andrew Haley  <aph@redhat.com>
+
+       PR java/25429
+       * parse.y (resolve_expression_name): Don't generate accessor
+       methods for constant fields.
+
+2005-12-13  Andrew Haley  <aph@redhat.com>
+
+       PR java/25366
+       PR java/25368
+       * class.c (maybe_layout_super_class): Update current_class before
+       calling do_resolve_class.
+
+2005-12-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR java/25330
+       * jcf-write.c (write_classfile): Use PID in temporary class
+       file. Save/restore errno when reporting error.
+
+2005-12-10  Terry Laurenzo  <tlaurenzo@gmail.com>
+
+       PR java/9861
+       * mangle.c (mangle_method_decl): Mangle Java methods by prepending 'J'
+       to bare_function_type and including the return type
+       * builtins.c (initialize_builtins) : Change builtin mangled name
+       constants to conform to new mangling scheme
+
+2005-12-08  Andrew Haley  <aph@redhat.com>
+
+       PR libgcj/25265
+       * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
+       (soft_abstractmethod_node): New.
+       * expr.c (build_field_ref): Add in-line check for missing field.
+       * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
+
+2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+
+       * Make-lang.in (java.all.build, java.install-normal): Remove.
+
+2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+
+       * Make-lang.in: Remove all dependencies on s-gtype, except for
+       gt-java-parse.h.
+
+2005-12-07  Richard Sandiford  <richard@codesourcery.com>
+
+       * class.c (build_utf8_ref, emit_register_classes): Use
+       switch_to_section and get_section.
+
+2005-12-06  Tom Tromey  <tromey@redhat.com>
+
+       PR java/25283:
+       * parse.y (patch_new_array_init): Revert previous patch.
+       (lookup_method_invoke): Use size-less array type when creating an
+       anonymous constructor.
+
+2005-12-05  Tom Tromey  <tromey@redhat.com>
+
+       * parse.y (patch_new_array_init): Don't set length on array.
+
+2005-12-02  Richard Guenther  <rguenther@suse.de>
+
+       * java-gimplify.c (java_gimplify_labeled_block_expr): Use
+       buildN instead of build.
+       * class.c (finish_class): Likewise.
+       * expr.c (java_create_object): Likewise.
+
+2005-11-28  Tom Tromey  <tromey@redhat.com>
+
+       PR java/18278:
+       * expr.c (build_jni_stub): Unwrap the return value.
+       * java-tree.h (soft_unwrapjni_node): New define.
+       (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
+       * decl.c (java_init_decl_processing): Initialize
+       soft_unwrapjni_node.
+
+2005-11-24  Bryce McKinlay  <mckinlay@redhat.com>
+
+        * gcj.texi (gij options): Add -Xss documentation.
+
+2005-11-08  Wil Mahan  <wmahan@gmail.com>
+
+       PR java/23617
+       * zextract.c (read_zip_archive): Fix out of memory error when
+       reading jar files with zip-style comments.
+
+2005-11-07   Terry Laurenzo   <tlaurenzo@gmail.com>
+
+       * gjavah.c (HANDLE_CODE_ATTRIBUTE): Only define for ELF Object
+       formats.
+       * gjavah.c (decompile_method): Add ATTRIBUTE_UNUSED
+
+2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
+           Wil Mahan <wmahan@gmail.com>
+
+       PR java/23620
+       * class.c (make_class): Create empty binfo here.
+       (set_super_info): Only create binfo if we have superclasses.
+
+2005-10-03  Ranjit Mathew  <rmathew@gcc.gnu.org>
+
+       PR java/24127
+       * parse.y (method_header): Make the result of the rule a NULL_TREE
+       when a parsing error occurs.
+
+2005-09-29  Tom Tromey  <tromey@redhat.com>
+
+       PR java/24120:
+       * jcf-io.c (memoized_dirlist_hash): New function.
+       (caching_stat): Use it.
+
+2005-09-21  Ranjit Mathew  <rmathew@gcc.gnu.org>
+
+       PR java/21418
+       * class.c (inherits_from_p): Try to lay out super class
+       if it is not already laid out.
+       (maybe_layout_super_class): Handle the case where SUPER_CLASS
+       is a NULL_TREE.
+
+2005-09-18  James A. Morrison  <phython@gcc.gnu.org>
+
+       * builtins.c (max_builtin, min_builtin, abs_builtin,
+       java_build_function_call_expr): Use fold_buildN.
+       * class.c (layout_class_method): Likewise.
+       * expr.c (java_truthvalue_conversion, build_java_jsr,
+       build_java_arrayaccess, expand_java_arrayload, expand_iinc,
+       build_java_binop, build_field_ref, expand_compare,
+       build_known_method_ref, build_invokevirtual,
+       process_jvm_instruction): Likewise.
+       * parse.y (patch_binop, patch_exit_expr): Likewise.
+       * typeck.c (convert_ieee_real_to_integer): Likewise.
+       (convert): Don't call fold after convert_ieee_real_to_integer.
+
+2005-09-14  Bryce McKinlay  <mckinlay@redhat.com>
+
+       PR java/23891
+       * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
+       the newly created type. Set import lists here, not in create_class.
+       (jdep_resolve_class): Set current_class.
+       (do_resolve_class): Use current_class's TYPE_PACKAGE to determine 
+       the current package context, not ctxp->package.
+       (cicp_cache): Removed.
+       (class_in_current_package): Simplify implementation using TYPE_PACKAGE.
+       * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
+       * java-tree.h (TYPE_PACKAGE): New macro.
+       (struct lang_type): New member 'package'.
+
+2005-09-09  Andrew Haley  <aph@redhat.com>
+
+       PR libgcj/23182 
+       * expr.c (pop_type_0): If the expected type is object or ptr
+       (i.e. void*), return the type of the object we just popped from
+       the stack.
+
+2005-09-06  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
+       BLOCK_EXPR_BODY before returning the new BIND_EXPR.
+
+2005-09-06  Kazu Hirata  <kazu@codesourcery.com>
+
+       * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
+       jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
+       typos.  Follow spelling conventions.
+
+2005-09-05  Ranjit Mathew  <rmathew@hotmail.com>
+
+       PR java/23431
+       * typeck.c (lookup_do): Look up interfaces for the original class,
+       not the base class.
+       * parse.y (java_check_regular_methods): Fix diagnostic message for
+       more restrictive overriding of a method from an interface.
+
+2005-08-16  Tom Tromey  <tromey@redhat.com>
+
+       * class.c (make_class_data): Always emit JV_STATE_PRELOADING for
+       class' initial state.
+
+2005-08-16  Ranjit Mathew  <rmathew@hotmail.com>
+
+       PR java/22113
+       * lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
+       `literal_token' for large numeric input tokens.
+
+2005-08-16  Ranjit Mathew  <rmathew@hotmail.com>
+
+       PR java/19870
+       * parse.y (nested_field_access_p): Rename to nested_member_access_p
+       and expand to handle method accesses across nested classes.
+       (build_outer_method_access_method): Rename to
+       build_nested_method_access_method.  Minor adjustments to comments.
+       (resolve_expression_name): Use the newly-renamed
+       nested_member_access_p method.
+       (resolve_qualified_expression_name): Likewise.
+       (patch_method_invocation): Also consider static methods for access
+       method generation.  Minor adjustments to comments.
+       (maybe_use_access_method): Use the more general
+       nested_memeber_access_p to determine access across nested class
+       boundaries.  Allow THIS_ARG to be NULL (for static methods).
+
 2005-08-15  Tom Tromey  <tromey@redhat.com>
 
        PR java/23300.