OSDN Git Service

2000-07-21 Alexandre Petit-Bianco <apbianco@cygnus.com>
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
index 63c7f08..a6940b4 100644 (file)
@@ -1,3 +1,708 @@
+2000-07-21  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (simple_name:): Fixed typo in error message.
+
+2000-07-21  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (java_complete_lhs): LOOP_EXPR:, SWITCH_EXPR: the node
+       or its first operand can be error marks.
+
+2000-07-20  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.h (SET_TYPE_FOR_RESOLUTION): Use GET_CPC.
+       * parse.y (method_header): Likewise.
+
+2000-07-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (find_as_inner_class): Handle the case where the
+       enclosing context of an innerclass has been loaded as bytecode.
+
+2000-07-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+        * parse.y (simple_name:): Reject `$' in type names.
+       (resolve_type_during_patch): Use `type' as a second
+       argument to resolve_no_layout. Fixes gcj/257.
+
+2000-07-18  Jeff Sturm  <jeff.sturm@appnet.com>
+
+       * lang-specs.h: Added %(jc1) to java compiler options.
+
+2000-07-14  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * .cvsignore: New file.
+
+2000-07-13  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (not_accessible_p): Access granted to innerclasses
+       (indirectly) extending the reference type. Fixes gcj/249.
+
+2000-07-13  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (patch_method_invocation): Fixed comment.
+       (maybe_use_access_method): Build this$<n>s to the context of the
+       target method, or a type that extends it. Fixes gcj/242.
+
+2000-07-13  Mark Mitchell  <mark@codesourcery.com>
+
+       * parse.c: Remove.
+
+2000-07-13  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (fold_constant_for_init): Avoid bullish conversion.
+
+2000-07-13  Tom Tromey  <tromey@cygnus.com>
+
+       * lang-specs.h: Added %{I*}.
+
+2000-07-13  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * lang-specs.h: Use the new named specs.  Remove unnecessary braces.
+
+2000-07-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * parse-scan.c: Remove.
+
+2000-07-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * class.c (set_super_info): Handled protected inner classes.
+       (common_enclosing_context_p): Bail early if arguments aren't both
+       inner classes.
+       (get_access_flags_from_decl): Handle private and protected inner
+       classes.
+       * java-tree.h (TYPE_PROTECTED_INNER_CLASS): New macro.
+       (CLASS_PROTECTED): Likewise.
+       (struct lang_type): New bitfield `poic.'
+       * parse.y (jdep_resolve_class): Call check_inner_class_access on
+       inner classes only.
+       (check_inner_class_access): Renamed arguments, added
+       comments. Handles protected inner classes (fixes gcj/225)
+       (not_accessible_p): Fixed comments. Avoid handling inner classes.
+
+2000-07-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (resolve_qualified_expression_name): Verify qualified
+       access to `this.' Fixes gcj/239.
+
+2000-07-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * jcf-write.c (generate_classfile): Don't install ConstantValue
+       for null pointers.
+
+2000-07-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (resolve_qualified_expression_name): Handle inner class
+       access. Fixes gcj/256.
+
+2000-07-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * jcf-write.c (generate_classfile): Properly install the
+       ConstantValue attribute and the initial value constant pool index
+       on string constants.
+       * parse.y (java_complete_lhs): Keep DECL_INITIAL when emitting
+       class files.
+
+2000-07-06  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.h (BUILD_PTR_FROM_NAME): Surround with a do/while
+       construct.
+       * parse.y (find_as_inner_class): Fixed typo.
+       (do_resolve_class): Explore enclosing contexts when searching for
+       innerclasses. Removed curly brackets around BUILD_PTR_FROM_NAME.
+       (check_inner_class_access): Check `decl' which can be null in case
+       of previous errors.
+
+2000-07-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * java-tree.h (java_debug_context): Declared `extern.'
+       (safe_layout_class): Likewise.
+       * parse.y (resolve_field_access): Field must be `static' in order
+       to be replaced by its initial value. Added comments.
+       (find_applicable_accessible_methods_list): Fixed typo.
+       (find_most_specific_methods_list): Methods found in innerclasses
+       take over methods founds in the enclosing contexts.
+       (java_complete_tree): Loosen restrictions on the type of DECLs
+       that can be replaced by their initialization values.
+       (valid_ref_assignconv_cast_p): Removed call to `enclosing_context_p.'
+
+2000-07-05  Tom Tromey  <tromey@cygnus.com>
+
+       * Make-lang.in (PARSE_DIR): New macro.
+       (PARSE_RELDIR): Likewise.
+       (PARSE_C): Likewise.
+       (PARSE_SCAN_C): Likewise.
+       ($(PARSE_C)): New target.
+       ($(PARSE_SCAN_C)): Likewise.
+       (SET_BISON): New macro.
+       (BISONFLAGS): Likewise.
+       (JAVABISONFLAGS): Likewise.
+
+2000-07-02  Bryce McKinlay  <bryce@albatross.co.nz>
+
+        * gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream
+        argument on the first pass for CNI as well as JNI.
+        (print_method_info): Set up method name on the first pass only.
+       
+2000-07-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (parser_qualified_classname): Removed parameter
+       `is_static'.
+       (create_interface): Removed first passed parameter to
+       parser_qualified_classname.
+       (create_class): Likewise. Don't install alias on static
+       innerclasses. Fixes gcj/275.
+
+2000-07-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (maybe_generate_pre_expand_clinit): Don't build a
+       debugable statement with empty_stmt_node. Fixes gcj/272
+
+2000-07-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * expr.c (build_instanceof): Layout type after it's loaded. Fixes
+       gcj/271.
+
+2000-06-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * jcf-write.c (push_long_const): Appropriately cast short negative
+       constant to jword.
+
+2000-06-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (verify_constructor_super): Use loop variable
+       `m_arg_type' initialized with `mdecl_arg_type'.
+
+2000-06-29  Tom Tromey  <tromey@cygnus.com>
+
+       * parse.y (resolve_field_access): Handle case where `type_found'
+       is NULL.
+
+2000-06-27  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * expr.c (lookup_field): The same field can be found through two
+       different interface. Don't declare it ambiguous in that case.
+
+2000-06-27  Tom Tromey  <tromey@cygnus.com>
+
+       * lex.c (java_lineterminator): Don't recognize \r after \n.  If \r
+       follows \r, then unget it at a lower level.
+
+2000-06-26  Tom Tromey  <tromey@cygnus.com>
+
+       * parse.y (resolve_field_access): Pass decl, not DECL_INITIAL, to
+       java_complete_tree.
+
+2000-06-25  Tom Tromey  <tromey@cygnus.com>
+
+       * parse.y (for_statement): Wrap expression in a WFL if it is a
+       constant.  For PR gcj/268.
+
+2000-06-25  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (do_resolve_class): Minor optimiztion in the package
+       list search. Removed unecessary test and return statement.
+       (valid_ref_assignconv_cast_p): Order of arguments to
+       enclosing_context_p fixed.
+
+2000-06-24  Tom Tromey  <tromey@cygnus.com>
+
+       * expr.c (lookup_field): Print error and return error_mark_node if
+       field reference is ambiguous.
+
+       * parse.y (check_abstract_method_definitions): Also check if
+       `other_method' is abstract.
+
+2000-06-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * class.c (set_super_info): Handle ACC_PRIVATE for (inner)
+       classes.
+       * java-tree.h (TYPE_PRIVATE_INNER_CLASS): New macro.
+       (struct lang_type): New field `pic.'
+       (CLASS_PRIVATE): New macro.
+       * parse.y (check_inner_class_access): New function.
+       (jdep_resolve_class): Call it.
+
+2000-06-23  Tom Tromey  <tromey@cygnus.com>
+
+       * parse.y (patch_incomplete_class_ref): Initialize the returned
+       class.  For PR gcj/260.
+
+2000-06-21  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'.
+
+2000-06-20  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
+       Java specific checks.
+       * expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage
+       screened by DECL_P.
+       * java-tree.def (CASE_EXPR): Marked 'e'.
+       (DEFAULT_EXPR): Likewise.
+       * jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage
+       screened by DECL_P.
+       * jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
+       Java specific checks.
+       (generate_bytecode_insns): Test try_block for BLOCK before using
+       BLOCK_EXPR_BODY.
+       * parse.y (build_wfl_wrap): Added `location' argument. Set
+       EXPR_WFL_LINECOL accordingly.
+       (dim_expr:): Wrap constants with WFLs.
+       (method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC.
+       (resolve_package): Check for `stmt' not being a BLOCK before
+       building a debuggable statement with it.
+       (make_qualified_primary): Added extra parameter to build_wfl_wrap
+       invocation.
+       (resolve_field_access): Make sure `decl' is a DECL before treating
+       it as such.
+       (maybe_build_primttype_type_ref): Make sure `wfl''s node is an
+       IDENTIFIER_NODE before treating it as such.
+       (patch_new_array_init): Make sure `elt' is a TREE_LIST before
+       treating it as such.
+       (find_applicable_accessible_methods_list): CLASS_INTERFACE macro
+       to be applied only on non array types.
+
+2000-06-16  Per Bothner  <per@bothner.com>
+
+       * java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN):  Don't
+       define in terms of DECL_RESULT, as that fails when --enable-checking.
+       
+2000-06-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * jcf-write.c (CHECK_PUT): Add static prototype.  Make pointer
+       types the same in comparison.
+       (CHECK_OP): Add static prototype.
+
+2000-06-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * typeck.c (build_java_array_type): Set TYPE_USER_ALIGN.
+       * parse.y (java_complete_class): Set DECL_USER_ALIGN.
+       * parse.c: Rebuilt.
+
+2000-06-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl.c (create_primitive_vtable): Prototype.
+
+       * jcf-write.c (generate_bytecode_insns): Initialize variable
+       `saved_context'.
+
+       * lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
+
+2000-06-09  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * parse.y (find_applicable_accessible_methods_list): Use a hashtable
+       to track searched classes, and do not search the same class more than
+       once. Call find_applicable_accessible_methods_list on immediate
+       superclass, instead of search_applicable_method_list on all ancestors.
+       Fix for PR gcj/238.
+
+2000-06-09  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * parse.y (register_fields): Permit static fields in inner classes
+       if they are final. Fix for PR gcj/255.
+
+2000-06-06  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.h (REGISTER_IMPORT): Use `chainon' to link new entries.
+       * parse.y (find_in_imports): Returned type changed to void,
+       leading comment fixed.
+       (register_package): New function.
+       (qualify_and_find): Likewise.
+       (package_declaration:): Use `register_package'.
+       (single_type_import_declaration:): Removed local variable
+       `node'. Added missing `;' for consistency.
+       (type_import_on_demand_declaration:): Use `chainon' to link new
+       entries.
+       (lookup_field_wrapper): Lookup local variables defined in outer
+       contexts first.
+       (java_complete_class): Don't reverse the list of imported on demand.
+       (do_resolve_class): Reorganized. Removed local variable
+       `original_name'. Call `qualify_and_find' with the current package
+       name, invoke `find_in_imports_on_demand' right after. Call
+       `qualify_and_find' with the packages we've seen so far. Fixed
+       operations numbering in comments.
+       (java_expand_class): Don't reverse `package_list'.
+       (find_most_specific_methods_list): New local variables `abstract'
+       and `candidates'. Use them to pick the right method.
+
+Tue Jun  6 11:39:05 2000  Tom Tromey  <tromey@ferrule.cygnus.com>
+
+       * parse.y (check_modifiers_consistency): Don't subtract out
+       `PUBLIC_TK' from argument to THIS_MODIFIER_ONLY.
+
+2000-06-04  Philipp Thomas  <pthomas@suse.de>
+
+       * Makefile.in (INTLLIBS): New.
+       (LIBS): Add above.
+       (DEPLIBS): Ditto.
+
+Fri Jun  2 16:48:55 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * class.c (get_dispatch_table): Build the vtable dummy entry list
+       element with a null purpose. Fixed leading comment.
+       (build_dtable_decl): Build an accurate dtable type when appropriate
+       and use it.
+
+2000-06-02  Richard Henderson  <rth@cygnus.com>
+
+       * lang.c (lang_get_alias_set): New.
+
+2000-05-31  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (resolve_field_access): Complete the DECL_INITIAL tree
+       before using it as the accessed field.
+
+2000-05-31  Tom Tromey  <tromey@cygnus.com>
+
+       * java-tree.h (boolean_array_vtable, byte_array_vtable,
+       char_array_vtable, short_array_vtable, int_array_vtable,
+       long_array_vtable, float_array_vtable, double_array_vtable):
+       Declare.
+       * expr.c (get_primitive_array_vtable): New function.
+       (create_primitive_vtable): New function.
+       (java_lang_expand_expr): Enable code to statically generate
+       arrays.
+       * decl.c (init_decl_processing): Create primitive vtables.
+       (boolean_array_vtable, byte_array_vtable, char_array_vtable,
+       short_array_vtable, int_array_vtable, long_array_vtable,
+       float_array_vtable, double_array_vtable): Define.
+
+2000-05-26  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * java/parse.y (find_applicable_accessible_methods_list):
+       Don't add an uninitialized value to the list.
+
+2000-05-25  Tom Tromey  <tromey@cygnus.com>
+
+       * parse.y (resolve_field_access): Don't check DECL_LANG_SPECIFIC
+       when trying to see if field's class should be initialized.  Always
+       initialize field's declaring class, not qualified class.
+       For PR gcj/162.
+
+       * parse.y (array_constructor_check_entry): Pass `wfl_value', not
+       `wfl_operator', to maybe_build_primttype_type_ref.
+       Fixes PR gcj/235.
+
+2000-05-23  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * parse.y (patch_method_invocation): Don't try to lookup methods
+       in primitive types.
+
+2000-05-02  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (resolve_field_access): Call the appropriate <clinit>
+       before accessing the length of a static array. Craft a decl for
+       the field while its time. Fixes PR gcj/129.
+2000-05-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (resolve_package): Correctly set `*next' (was off by
+       one.)
+       (resolve_qualified_expression_name): Fixed comment.
+
+Thu Apr 27 17:47:34 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * jcf-parse.c (jcf_parse_source): Reset current_class and 
+       current_function_decl to NULL before parsing a new file.
+
+Thu Apr 27 17:25:33 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (block_end:): If the collected block doesn't feature a
+       statement, insert an empty statement.
+
+2000-04-17  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+        * parse.y (maybe_yank_clinit): New function.
+        (maybe_generate_pre_expand_clinit): Always link <clinit> at the
+        end of the list of methods belonging to a class.
+        (java_complete_expand_method): Check whether <clinit> is really
+        necessary and expand it accordingly.
+
+2000-04-17  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (fold_constant_for_init): Let VAR_DECL and FIELD_DECL be
+       processed by the method's switch statement.
+
+2000-05-19  Tom Tromey  <tromey@cygnus.com>
+
+       * java-tree.h: Added init state enum.
+       * decl.c (emit_init_test_initialization): Initialize class
+       initialization check variable by looking at class' state.
+
+2000-05-19  Tom Tromey  <tromey@cygnus.com>
+
+       * java-tree.h (build_instanceof): Declare.
+       (build_get_class): Declare.
+       * parse.y (patch_binop): Use build_instanceof.
+       * expr.c (build_instanceof): New function.  If class is final,
+       don't make a function call.
+       (expand_java_INSTANCEOF): Use it.
+       (build_get_class): New function.
+
+2000-05-18  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+       * jcf-write.c (generate_classfile): Scan the source_file for
+       slashes with the right pointer variable.
+
+Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * lang.c (lang_decode_option): Update -Wunused flags by calling
+       set_Wunused.
+       * decl.c (poplevel): Replace warn_unused with warn_unused_label.
+
+2000-05-09  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * check_init.c (check_init): Constify local char *.
+       * class.c (push_class): Constify local char *.
+       * java_tree.h: Update prototypes.
+       * jcf-io.c (open_class): Constify filename parameter and
+       return value.
+       (find_class): Remove redundant string copy.  Cast return from
+       open_class.
+       * jcf-parse.c (read_class, parse_class_file, yyparse):
+       Constify local char *.
+       * jcf-write.c (generate_bytecode_insns, generate_classfile):
+       Constify local char *.
+       * jcf.h (JCF): Constify filename and classname.
+       (JCF_FINISH): Cast args to FREE to char * when appropriate.
+       * lang.c (init_parse): Constify parameter and return value.
+       * lex.c (java_get_line_col): Constify filename parameter.
+       * parse.h: Constify parser_ctxt.filename.  Update prototypes.
+       * parse.y (java_parser_context_suspend,
+       issue_warning_error_from_context, safe_layout_class): Constify
+       local char *.
+       * parse.c: Regenerate.
+
+2000-05-08  Tom Tromey  <tromey@cygnus.com>
+
+       * expr.c (build_jni_stub): Cache the result of
+       _Jv_LookupJNIMethod.
+
+2000-05-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * decl.c (predef_filenames_size): Now 7.
+       (predef_filenames): New seventh entry.
+
+2000-05-04  Tom Tromey  <tromey@cygnus.com>
+
+       * boehm.c (mark_reference_fields): Don't mark RawData fields.
+       Keep track of when we've seen a reference field after a
+       non-reference field.
+       (get_boehm_type_descriptor): Handle case where we see
+       non-reference fields but no trailing reference field.
+       * decl.c (rawdata_ptr_type_node): Define.
+       (init_decl_processing): Initialize rawdata_ptr_type_node.
+       * java-tree.h (rawdata_ptr_type_node): Declare.
+
+2000-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * jcf-dump.c (SPECIAL_IINC): Ensure arguments match format
+       specifiers in calls to fprintf.
+
+2000-05-03  Andrew Haley  <aph@cygnus.com>
+
+       * expr.c (build_java_jsr): Use emit_jump, not expand_goto.
+
+       * javaop.h (WORD_TO_INT): New function.
+       (IMMEDIATE_s4): Use WORD_TO_INT.
+       * jcf.h (JPOOL_INT): Ditto.
+
+       * gjavah.c (decode_signature_piece): Don't treat `$' as namespace
+       separator.
+
+2000-04-19  Tom Tromey  <tromey@cygnus.com>
+
+       * class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE
+       on native function.
+       * jcf-parse.c (parse_class_file): Call build_jni_stub for native
+       JNI methods.
+       * expr.c (build_jni_stub): New function.
+       * lang-specs.h: -fjni and -femit-class-file are incompatible.
+       * parse.c: Rebuilt.
+       * parse.y (java_complete_expand_methods): Expand a native method
+       and call build_jni_stub if -fjni given.
+       * lang-options.h: Document -fjni.
+       * lang.c (flag_jni): New global.
+       (lang_f_options): Added `jni' entry.
+       * java-tree.h (soft_lookupjnimethod_node,
+       soft_getjnienvnewframe_node, soft_jnipopsystemframe_node):
+       Declare.
+       (flag_jni): Declare.
+       (build_jni_stub): Declare.
+       (struct lang_decl): Added `native' flag.
+       (METHOD_NATIVE): Redefined to use `native' field of lang specific
+       structure.
+       * decl.c (soft_lookupjnimethod_node, soft_getjnienvnewframe_node,
+       soft_jnipopsystemframe_node): New globals.
+       (init_decl_processing): Set them.  _Jv_InitClass only takes one
+       argument.
+
+       * java-tree.def: Put into `C' mode.
+
+2000-04-27  Tom Tromey  <tromey@cygnus.com>
+
+       Fix for PR gcj/2:
+       * expr.c (expand_invoke): Generate check to see if object pointer
+       is null in nonvirtual invocation case.
+       * java-tree.h (soft_nullpointer_node): Declare.
+       * decl.c (soft_nullpointer_node): New global.
+       (init_decl_processing): Initialize soft_nullpointer_node.
+       * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final'
+       or `private' methods.
+       (patch_invoke): Handle INVOKE_NONVIRTUAL case.
+
+Wed Apr 26 14:29:33 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * decl.c (complete_start_java_method): Don't call _Jv_InitClass
+       from <clinit>
+
+2000-04-26  Tom Tromey  <tromey@cygnus.com>
+
+       * zextract.c (find_zip_file_start): New function.
+       (read_zip_archive): Use it.
+
+2000-04-25  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (register_incomplete_type): Handle JDEP_ANONYMOUS.
+
+2000-04-24  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * class.c (common_enclosing_context_p): New function.
+       * java-tree.h (common_enclosing_context_p): Added prototype.
+       * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Relaxed test to allow
+       classes sharing an outer context with the current instance.
+       * parse.y (build_access_to_thisn): Fixed leading comment.
+       (verify_constructor_super): New local `supper_inner'. Skip
+       enclosing context argument in the case of inner class constructors.
+       (patch_method_invocation): Insert proper context as second
+       parameter to pure inner class constructor super invocations.
+
+Mon Apr 24 14:59:36 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (end_class_declaration): Reset the interface number
+       counter.
+
+2000-04-24  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+        * parse.y (source_start_java_method): Deleted unecessary code.
+        (patch_method_invocation): Fixed comment.
+
+2000-04-24  Robert Lipe <robertlipe@usa.net>
+
+       * parse.h (_jdep): Member `kind' now ENUM_BITFIELD.
+
+2000-04-23  Tom Tromey  <tromey@cygnus.com>
+
+       * boehm.c (mark_reference_fields): Use int_byte_position.
+
+2000-04-22  Tom Tromey  <tromey@cygnus.com>
+
+       * boehm.c (mark_reference_fields): Only call byte_position on
+       non-static fields.
+
+2000-04-22  Tom Tromey  <tromey@cygnus.com>
+
+       * boehm.c (mark_reference_fields): Added `last_view_index'
+       argument.  Use DECL_FIELD_OFFSET to determine field's offset.
+
+Thu Apr 20 17:41:28 2000  Mo DeJong  <mdejong@cygnus.com>
+
+       * parse.h (INTERFACE_INNER_MODIFIERS): New macro.
+       * parse.y (check_class_interface_creation): Fixed comments. Select
+       permitted modifiers for (inner) interfaces. Changed error message
+       to report rejected modifiers used with local classes.
+
+2000-04-20  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Immediate inner classes
+       of directly inherited type considered in scope.
+       * parse.y (do_resolve_class): Search inherited classes for inner
+       classes.
+
+2000-04-20  Tom Tromey  <tromey@cygnus.com>
+
+       * parse.y (not_accessible_p): Use member's class, not current
+       class, when doing inheritance check for protected reference.
+       Fixes PR gcj/124.
+
+Thu Apr 20 18:20:58 2000  Jason Schroeder  <shrode@subnature.com>
+
+       * jcf-dump.c (SPECIAL_IINC): Fixed typo printing iinc instruction.
+
+2000-04-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (lookup_field_wrapper): Search for final local aliases.
+       (resolve_expression_name): Let lookup_field_wrapper search for
+       final local aliases. Force the value of `name' if one is found.
+       (qualify_ambiguous_name): CONVERT_EXPR is enough to now we have
+       an expression name. Fixed comments.
+
+2000-04-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (yyerror): `msg' can be null, don't use it in that case.
+
+2000-04-19  Tom Tromey  <tromey@cygnus.com>
+
+       * gjavah.c (cxx_keyword_subst): Avoid potential infinite loop.
+
+2000-04-18  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (maybe_make_nested_class_name): Use `obstack_grow0'.
+
+2000-04-18  Tom Tromey  <tromey@cygnus.com>
+
+       PR gcj/211:
+       * gjavah.c (utf8_cmp): Changed return value.
+       (cxx_keyword_subst): Handle all C++ keywords.  Allocate new return
+       result.
+       (cxx_keywords): New global.
+       (get_field_name): Handle new result of cxx_keyword_subst.
+       (print_method_info): Likewise.
+
+2000-04-17  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * gjavah.c (print_name_for_stub_or_jni): Don't prefix method names 
+       with a newline, for CNI.
+       (print_stub_or_jni): Print a space or newline before method name for 
+       CNI as well as JNI.
+       (print_cxx_classname): Don't write leading "::" in CNI stub method.
+       (process_file): Include gcj/cni.h if generating CNI stubs.      
+
+2000-04-16  Tom Tromey  <tromey@cygnus.com>
+
+       * gjavah.c (decompile_method): Use print_field_name.
+       Fixes PR gcj/205.
+
+2000-04-14  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (java_expand_classes): Reverse the package list once.
+       (java_complete_lhs): PLUS_EXPR: don't try rhs and lhs at string
+       reduction.
+       (patch_binop): New temp `cn'. Call patch_string on LHS/RHS of
+       the `==' and `!=' operators.
+
+2000-04-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * jcf-write.c (generate_bytecode_insns): At invokation time,
+       always relate an interface method to the type of its selector.
+       
+2000-04-05  Tom Tromey  <tromey@cygnus.com>
+
+       Fix for PR gcj/2:
+       * expr.c (expand_invoke): Generate check to see if object pointer
+       is null in nonvirtual invocation case.
+       * java-tree.h (soft_nullpointer_node): Declare.
+       * decl.c (soft_nullpointer_node): New global.
+       (init_decl_processing): Initialize soft_nullpointer_node.
+       * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final'
+       or `private' methods.
+       (patch_invoke): Handle INVOKE_NONVIRTUAL case.
+
+2000-04-05  Tom Tromey  <tromey@cygnus.com>
+
+       Fix for PR gcj/140:
+       * parse.y (check_final_assignment): Recognize assignments to the
+       `length' field of an array when generating class files.
+
 2000-04-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * class.c (decl_hash): Prototype removed.