OSDN Git Service

* alias.c (init_alias_analysis), calls.c (expand_call,
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
index 4c889b0..f4eff53 100644 (file)
@@ -1,3 +1,633 @@
+2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * expr.c (note_instructions), jcf-io.c (find_class), jcf-parse.c
+       (init_outgoing_cpool), lex.c (java_init_lex): Use memset ()
+       instead of bzero ().
+
+2000-11-05  Tom Tromey  <tromey@cygnus.com>
+
+       * lex.h (JAVA_FLOAT_RANGE_ERROR): Typo fix.
+       * lex.c (IS_ZERO): New define.
+       (java_perform_atof): Error on floating point underflow.
+
+2000-11-04  Tom Tromey  <tromey@cygnus.com>
+
+       * lex.c (java_parse_escape_sequence): Only read two octal
+       characters if the first one is greater than 3.  Don't allow
+       "octal" numbers to include the digits 8 or 9.
+
+2000-11-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * Make-lang.in (java.distdir): Remove.
+
+2000-11-03  Tom Tromey  <tromey@cygnus.com>
+
+       * Make-lang.in (java.dvi): New target.
+       Partial fix for PR other/567.
+
+       * lang-options.h: Mention -Wout-of-date.
+       * jcf-dump.c (flag_newer): New global.
+       * gjavah.c (flag_newer): New global.
+       * jcf-io.c (find_class): Only warn when flag_newer set.
+       * lang.c (flag_newer): New global.
+       (struct string_option): New declaration.
+       (lang_W_options): New global.
+       (process_option_with_no): New function.
+       (lang_decode_option): Use it.
+
+       * class.c (cxx_keyword_p): Accept keywords with trailing `$'s.
+       * gjavah.c (cxx_keyword_subst): Handle any number of trailing
+       `$'.
+
+       * lex.h (_JAVA_IDENTIFIER_IGNORABLE): New macro.
+       (JAVA_ID_CHAR_P): Also try java_ignorable_control_p.
+       * lex.c (java_read_unicode): Removed `term_context' argument.
+       Recognize any number of `u' in `\u'.
+       (java_read_unicode_collapsing_terminators): New function.
+       (java_get_unicode): Use it.
+       (java_lineterminator): Removed.
+       (yylex): Produce error if character literal is newline or single
+       quote.  Return if eof found in middle of `//' comment.  EOF in
+       `//' comment is only an error if pedantic.
+       (java_ignorable_control_p): New function.
+       (java_parse_end_comment): Return if eof found in middle of
+       comment.
+       Include flags.h.
+       * jv-scan.c (pedantic): New global.
+
+2000-10-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+       * Make-lang.in (LIBGCJ_ZIP_FILE): Define with `$(prefix)'.
+       Fixes gcj/365.
+
+2000-10-27  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * Make-lang.in: Move all build rules here from Makefile.in,
+       adapt to new context.  Wrap all rules that change the current
+       directory in parentheses.  Expunge all references to $(P).
+       When one command depends on another and they're run all at
+       once, use && to separate them, not ;.  Add OUTPUT_OPTION to
+       all object-file generation rules.  Delete obsolete variables.
+
+       * Makefile.in: Delete.
+       * config-lang.in: Delete outputs= line.
+
+2000-10-25  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (patch_method_invocation): NULLify this_arg when already
+       inserted.
+       (maybe_use_access_method): Handle call to methods unrelated to the
+       current class. Fixed comment.
+       Fixes gcj/361.
+
+2000-10-24  Tom Tromey  <tromey@cygnus.com>
+
+       * lex.c (java_new_lexer): Initialize new fields.  Work around
+       broken iconv() implementations.
+       (java_read_char): Swap bytes if required.  Use fallback decoder if
+       required.
+       (byteswap_init, need_byteswap): New globals.
+       (java_destroy_lexer): Only close iconv handle if it is in use.
+       * lex.h (java_lexer): New fields read_anything, byte_swap,
+       use_fallback.
+       Made out_buffer unsigned.
+
+2000-10-24  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (register_incomplete_type): Include JDEP_FIELD as a case
+       where an enclosing context can be set on the jdep.
+       (do_resolve_class): Fixed identation.
+
+2000-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gjavah.c (NEED_PEEK_ATTRIBUTE, NEED_SKIP_ATTRIBUTE): Define
+       
+       * jcf-reader.c (peek_attribute, skip_attribute): Only define
+       when requested.
+
+       * parse.h (yyerror): If JC1_LITE, mark with ATTRIBUTE_NORETURN.
+
+       * verify.c (CHECK_PC_IN_RANGE): Cast result of stmt-expr to void.
+
+2000-10-16  Tom Tromey  <tromey@cygnus.com>
+
+       * jvspec.c (lang_specific_driver): Recognize -MF and -MT.
+       * lang-specs.h: Added %{MA}, %{MF*}, %{MT*}.
+       * lang-options.h: Added -MA, -MT, -MF..
+       * lang.c (lang_decode_option): Recognize -MA, -MT, -MF.
+       (DEPEND_TARGET_SET): New macro.
+       (DEPEND_FILE_ALREADY_SET): Likewise.
+       (init_parse): Handle new flags.
+       * jcf.h (jcf_dependency_print_dummies): Declare.
+       * Make-lang.in (s-java): Added mkdeps.o.
+       * Makefile.in (BACKEND): Added mkdeps.o.
+       (../gcjh$(exeext)): Added mkdeps.o.
+       (../jcf-dump$(exeext)): Added mkdeps.o.
+       * jcf-depend.c: Include mkdeps.h.
+       (struct entry, dependencies, targets, MAX_OUTPUT_COLUMNS,
+       add_entry): Removed.
+       (jcf_dependency_reset): Rewrote.
+       (dependencies): New global.
+       (jcf_dependency_set_target): Rewrote.
+       (jcf_dependency_add_target): Likewise.
+       (jcf_dependency_add_file): Likewise.
+       (munge): Removed.
+       (print_ents): Removed.
+       (jcf_dependency_write): Rewrote.
+       (print_dummies): New global.
+       (jcf_dependency_print_dummies): New function
+       (jcf_dependency_write): Call deps_dummy_targets if required.
+
+2000-10-18  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * gjavah.c (add_class_decl): Removed unused variables `tname',
+       `tlen' and `name_index'.
+       * java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE): New macro.
+       * jcf-parse.c (jcf_parse_source): Use it and set EXPR_WFL_FILENAME
+       in `wfl_operator' with value.
+       (yyparse): Use BUILD_FILENAME_IDENTIFIER_NODE.
+       (jcf_figure_file_type): Fixed identation.
+       * lex.c (java_get_line_col): Use EOF. Tuned `^' placement.
+       * parse.y (analyze_clinit_body): New function.
+       (static_initializer:): Reset `current_static_block'.
+       (java_parser_context_restore_global): Set EXPR_WFL_FIILENAME_NODE in
+       `wfl_operator' with new value.
+       (lookup_cl): Use EXPR_WFL_FILENAME.
+       (maybe_yank_clinit): Handle bogus <clinit> bodies, call
+       analyze_clinit_body.
+       (build_outer_field_access): Access to this$<n> built from
+       current_class, not its outer context.
+       (build_access_to_thisn): Fixed leading comment. Tidied things up.
+       (resolve_qualified_expression_name): Handle `T.this' and `T.this.f()'. 
+       (patch_method_invocation): Use `is_static_flag' when already
+       initialized.
+       (patch_newarray): Removed assignment in ternary operator.
+
+2000-10-17  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * except.c (free_eh_ranges): Don't free `whole_range'.
+
+2000-10-15  Anthony Green  <green@redhat.com>
+
+       * decl.c (init_decl_processing): Call init_class_processing before
+       anything else.
+
+2000-10-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Make-lang.in (parse.c, parse-scan.c): Create atomically.
+       
+       * Makefile.in (parse.c, parse-scan.c): Likewise.
+
+2000-10-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * class.c (temporary_obstack): Remove.
+       (make_class): Don't mess with obstascks.
+       (push_class): Likewise.
+       (set_super_info): Likewise.
+       (add_method_1): Likewise.
+       (add_method): Likewise.
+       (add_field): Likewise.
+       (build_utf8_ref): Likewise.
+       (build_class_ref): Likewise.
+       (build_static_field_ref): Likewise.
+       (finish_class): Likewise.
+       (push_super_field): Likewise.
+       (layout_class): Likewise.
+       (layout_class_methods): Likewise.
+       (init_class_processing): Likewise.
+       * constants.c (get_tag_node): Likewise.
+       (build_constant_data_ref): Likewise.
+       * decl.c (ggc_p): Remove.
+       (copy_lang_decl): Use ggc_alloc.
+       (complete_start_java_method): Don't mess with obstacks.
+       (start_java_method): Likewise.
+       (end_java_method): Likewise.
+       * except.c (link_handler): Use xmalloc.
+       (free_eh_ranges): New function.
+       (method_init_exceptions): Use it.
+       (add_handler): Use xmalloc.
+       (expand_start_java_handler): Don't mess with obstacks.
+       (prepare_eh_table_type): Likewise.
+       (expand_end_java_handler): Likewise.
+       * expr.c (push_value): Likewise.
+       (create_label_decl): Likewise.
+       (build_jni_stub): Likewise.
+       (java_lang_expand_expr): Likewise.
+       (note_instructions): Use xrealloc.
+       (java_push_constant_from_pool): Don't mess with obstacks.
+       (process_jvm_instruction): Likewise.
+       * java-tree.h (cyclic_inheritance_report): Remove duplicate
+       declaration.
+       * jcf-parse.c (get_constant): Don't mess with obstacks.
+       (read_class): Likewise.
+       (jcf_parse): Likewise.
+       * lex.c (expresion_obstack): Remove.
+       (java_lex): Don't use obstack_free.
+       * parse.h (exit_java_complete_class): Don't mess with obstacks.
+       (MANGLE_OUTER_LOCAL_VARIABLE_NAME): Adjust.
+       (MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID): Likewise.
+       (MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING): Likewise.
+       * parse.y (gaol): Add more GC roots.
+       (add_inner_class_fields): Adjust calls to MANGLE_* macros.
+       (lookup_field_wrapper): Likewise.
+       (obtain_incomplete_type): Don't mess with obstacks.
+       (build_alias_initializer_paramter_list): Adjust calls to MANGLE_*
+       macros.
+       (craft_constructor): Don't mess with obstacks.
+       (safe_layout_class): Likewise.
+       (java_complete_class): Likewise.
+       (source_end_java_method): Likewise.
+       (build_outer_field_access_methods): Likewise.
+       (build_outer_method_access_method): Likewise.
+       (maybe_build_thisn_access_method): Likewise.
+       (build_dot_class_method_invocation): Likewise.
+       (java_complete_tree): Likewise.
+       (java_complete_lhs): Likewise.
+       (do_merge_string_cste): Likewise.
+       (patch_string_cst): Likewise.
+       (array_constructor_check_entry): Likewise.
+       * typeck.c (build_java_array_type): Likewise.
+       (parse_signature_string): Likewise.
+       (build_java_signature): Likewise.
+       
+2000-10-12  Tom Tromey  <tromey@cygnus.com>
+
+       Fix for PR gcj/356:
+       * gjavah.c (add_class_decl): Don't special-case inner classes.
+       (add_namelet): Likewise.
+
+2000-10-11  Rodney Brown  <RodneyBrown@mynd.com>
+
+       * java-tree.h: Constify current_encoding.
+       * lang.c: Constify current_encoding.
+
+2000-10-10  Jeff Sturm  <jeff.sturm@appnet.com>
+
+       * jvgenmain.c (class_mangling_suffix): Omit `.'.
+       (main): Use `$' when NO_DOLLAR_IN_LABEL is not set, otherwise `.'.
+
+2000-10-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * expr.c (java_lang_expand_expr): Reinstall 1999-08-14 Anthony's
+       patch. Fixes gcj/340.
+
+2000-10-10  Tom Tromey  <tromey@cygnus.com>
+
+       * lex.c (java_new_lexer): Initialize out_first and out_last
+       fields.
+       * lex.h (java_lexer): Added out_buffer, out_first, out_last.
+
+2000-10-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       Patch contributed by Corey Minyard.
+       * decl.c (check_local_named_variable): New function.
+       (tree check_local_unnamed_variable): Likewise.
+       (find_local_variable): Splitted. Call check_local_{un}named_variable.
+
+2000-10-07  Anthony Green  <green@redhat.com>
+
+       * class.c (layout_class): Handle case where superclass can't be
+       layed out yet.
+
+2000-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * Makefile.in (keyword.h): Refer to GNU FTP site for updated
+       gperf.
+
+2000-10-05  Tom Tromey  <tromey@cygnus.com>
+
+       * jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
+       * jvgenmain.c (class_mangling_prefix): Removed.
+       (class_mangling_suffix): New global.
+       (main): Use it.
+       * gjavah.c (cxx_keyword_subst): Mangle C++ keywords by appending
+       `$'.
+       (print_method_info): Handle overrides for static and final
+       methods.
+       (process_file): Generate declaration for class object field.
+       * class.c (cxx_keywords): New array.
+       (utf8_cmp): New function.
+       (cxx_keyword_p): New function.
+       (layout_class_method): Mangle C++ keywords by appending `$'.
+       (mangle_field): New function.
+       (mangle_class_field): Use mangle_field.  Mangle class name as
+       `class$'.
+       (mangle_static_field): Use mangle_field.
+
+Tue Oct  3 13:44:37 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * decl.c (find_local_variable): Removed uncessary type check and
+       fixed range check typo. From Corey Minyard.
+
+Wed Sep 13 16:06:52 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * decl.c (give_name_to_locals): New local `code_offset'. Call
+       `maybe_adjust_start_pc'.
+       * expr.c (note_instructions): New function.
+       (expand_byte_code): Don't collect insn starts here.
+       (peek_opcode_at_pc): New function.
+       (maybe_adjust_start_pc): Likewise.
+       * java-tree.h (maybe_adjust_start_pc): Declare.
+       (note_instructions): Likewise.
+       * jcf-parse.c (parse_class_file): Call `note_instructions'.
+
+Wed Sep 13 11:50:35 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (field_access:): Fixed indentation.
+       (qualify_ambiguous_name): Properly qualify `this.a[b].c'.
+
+2000-09-07  Tom Tromey  <tromey@cygnus.com>
+
+       Fix for PR gcj/307:
+       * parse.y (patch_binop): Use JNUMERIC_TYPE_P, not
+       JPRIMITIVE_TYPE_P, for arithmetic operators.
+       (patch_method_invocation): Indentation fix.
+       (try_builtin_assignconv): Handle boolean specially.  Fixed typo.
+       (valid_builtin_assignconv_identity_widening_p): Handle boolean.
+       (do_unary_numeric_promotion): Cleaned up code.
+       (valid_cast_to_p): Handle boolean correctly.
+
+2000-09-27  Tom Tromey  <tromey@cygnus.com>
+
+       * lex.c (java_read_unicode): Reset bs_count when finished with
+       `\u' sequence.
+
+2000-10-01  Mark Mitchell  <mark@codesourcery.com>
+
+       Convert to GC.
+       * Make-lang.in (s-java): Don't depend on ggc-callbacks.o.
+       * Makefile.in (BACKEND): Don't include ggc-callbacks.o.
+       (typeck.o): Depend on ggc.h.
+       * class.c (add_method_1): Use GC functions for allocation.
+       (init_class_processing): Register roots.
+       * decl.c (ggc_p): Set to 1.
+       (pending_local_decls): Make it static.
+       (push_jvm_slot): Use GC functions for allocation.
+       (init_decl_processing): Register roots.
+       (give_name_to_locals): Use GC functions for allocation.
+       (lang_mark_tree): New function.
+       * java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Use GC
+       functions for allocation.
+       * jcf-parse.c (jcf_parse_source): Use ggc_strdup.
+       * lex.c (java_lex): Use build_string, rather than replicating it
+       inline.
+       * parse.y (goal): Add more roots.
+       (mark_parser_ctxt): New function.
+       * typeck.c: Include ggc.h.
+       
+2000-09-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (maybe_yank_clinit): Also keep <clinit> if its body
+       contains something else than MODIFY_EXPR.
+
+2000-09-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * Make-lang.in (JAVA_SRCS): Include java-tree.h.
+       * Makefile.in (parse.o): Depend on ggc.h.
+       (class.o): Likewise.
+       (constants.o): Likewise.
+       (decl.o): Likewise.
+       (expr.o): Likewise.
+       (jcf-parse.o): Likewise.
+       (jcf-write.o): Likewise.
+       (mangle.o): Likewise.
+       * class.c: Include ggc.h.
+       (build_static_field_ref): Register GC roots.
+       (layout_class): Likewise.
+       (init_class_processing): Likewise.
+       * constants.c: Include ggc.h.
+       (current_constant_pool_data_ref): Remove.
+       (tag_nodes): Move it to ...
+       (get_tag_node): ... here.  Register GC roots.
+       * decl.c: Include ggc.h.  Remove many global tree definitions.
+       (throw_node): Define.
+       (java_global_trees): Likewise.
+       (predef_filenames): Make the size a constant.
+       (init_decl_processing): Adjust accordingly.
+       (init_decl_processing): Call init_jcf_parse.  Register GC roots.
+       * expr.c: Include ggc.h.
+       (init_expr_processing): Register GC roots.
+       (build_invokeinterface): Likewise.
+       * java-tree.h: Replace extern tree declarations with macros.
+       (java_global_trees): New variable.
+       (java_tree_index): New enumeration.
+       (init_jcf_parse): Declare.
+       * jcf-parse.c: Include ggc.h.
+       (current_class): Remove declaration.
+       (main_class): Likewise.
+       (all_class_list): Likewise.
+       (predefined_filename_p): Adjust for constant size of
+       predef_filenames.
+       (init_jcf_parse): New function.
+       * jcf-write.c: Include ggc.h.
+       (generate_classfile): Register GC roots.
+       (append_synthetic_attribute): Likewise.
+       (append_innerclass_attribute_entry): Likewise.
+       * lang.c: Include ggc.h.
+       (lang_print_error): Register GC roots.
+       * parse.h (struct parser_ctxt): Rename fields to avoid conflicts
+       with macros.
+       * parse.y: Include ggc.h.
+       (wfl_operator): Remove.
+       (goal): Register GC roots.
+       (java_pop_parser_context): Adjust for new field names.
+       (java_parser_context_save_global): Likewse.
+       (java_parser_context_restore_global): Likewise.
+       (java_parser_context_suspend): Likewise.
+       (java_parser_context_resume): Likewise.
+       (verify_constructor_circularity): Register GC roots.
+       (lookup_cl): Likewise.
+       (java_reorder_fields): Likewise.
+       (build_current_this): Likewise.
+       (class_in_current_package): Likewise.
+       (argument_types_convertible): Likewise.
+       (patch_cast): Rename wfl_op parameter to avoid macro conflicts.
+       
+2000-09-14  Tom Tromey  <tromey@cygnus.com>
+
+       * lex.h: Use HAVE_ICONV_H, not HAVE_ICONV.
+
+2000-09-13  Tom Tromey  <tromey@cygnus.com>
+
+       * jcf-parse.c: Include <locale.h>.
+       * jv-scan.c: Include <locale.h>.
+
+2000-09-12  Tom Tromey  <tromey@cygnus.com>
+
+       * expr.c (pop_type_0): Return `Object' if trying to merge two
+       interface types.
+       * verify.c (merge_types): Don't return `TYPE_UNKNOWN' for
+       interface types; `Object' is always a valid supertype.
+
+2000-09-12  Tom Tromey  <tromey@cygnus.com>
+
+       Fix for PR gcj/33:
+       * jv-scan.c (help): Document --encoding.
+       (options): Added `encoding' entry.
+       (OPT_ENCODING): New define.
+       (main): Handle --encoding.
+       Include <langinfo.h> if nl_langinfo exists.
+       * lang-options.h: Document --classpath, --CLASSPATH, --main, and
+       --encoding.
+       * jcf-parse.c Include <langinfo.h> if we have nl_langinfo.
+       (parse_source_file): Correctly call java_init_lex.  Added `finput'
+       argument.  Use nl_langinfo to determine default encoding.
+       * java-tree.h (current_encoding): Declare.
+       * parse.y (java_parser_context_restore_global): Don't restore
+       `finput'.
+       (java_parser_context_save_global): Don't set `finput' field.
+       (java_pop_parser_context): Don't restore `finput'.  Free old lexer
+       if required.
+       * lang.c (current_encoding): New global.
+       (lang_decode_option): Recognize `-fencoding='.
+       (finish_parse): Don't close finput.
+       * parse.h (struct parser_ctxt): Removed `finput' and
+       `unget_utf8_value' fields.  Added `lexer' field.
+       (java_init_lex): Fixed declaration.
+       * lex.c (java_new_lexer): New function.
+       (java_destroy_lexer): Likewise.
+       (java_read_char): Added `lex' argument.  Handle iconv case.
+       (java_read_unicode): Added `lex' argument.  Count backslashes in
+       lexer structure.
+       (java_init_lex): Added `finput' and `encoding' arguments.  Set
+       `lexer' field in ctxp.
+       (BAD_UTF8_VALUE): Removed.
+       (java_lex): Handle seeing UEOF in the middle of a string literal.
+       * lex.h: Include <iconv.h> if HAVE_ICONV defined.
+       (java_lexer): New structure.
+       (UNGETC): Removed.
+       (GETC): Removed.
+       (DEFAULT_ENCODING): New define.
+       (java_destroy_lexer): Declare.
+
+2000-09-12  Tom Tromey  <tromey@cygnus.com>
+
+       Fix for PR gcj/343:
+       * lex.c (java_init_lex): Initialize java_io_serializable.
+       * parse.y (java_io_serializable): New global.
+       (valid_ref_assignconv_cast_p): An array can be cast to
+       serializable.
+
+2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * decl.c, expr.c: Include defaults.h if not already included.
+       Don't define the *_TYPE_SIZE macros.
+
+2000-09-09  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * typeck.c (build_java_array_type): Correct first parameter
+       in ADJUST_FIELD_ALIGN invocation.
+
+2000-09-06  Tom Tromey  <tromey@cygnus.com>
+
+       * lang-specs.h: Also recognize `-femit-class-files'.
+
+2000-09-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * verify.c (merge_types): Load the types to merge if necessary.
+
+2000-09-02  Anthony Green  <green@redhat.com>
+
+       * jcf-io.c: Include zlib.h.
+       (open_in_zip): Read compressed class file archives.
+       * zipfile.h (ZipDirectory): Add uncompressed_size and
+       compression_method fields.
+       * zextract.c (read_zip_archive): Collect file compression info.
+
+2000-08-15  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * parse.y (do_resolve_class): Also explore superclasses of 
+       intermediate enclosing contexts when searching for inner classes.
+
+2000-08-11  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (variable_declarator_id:): Better error message.
+       (expression_statement:): Use YYNOT_TWICE.
+       (cast_expression:): Likewise.
+       (assignment:): Likewise.
+
+2000-08-11  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (do_merge_string_cste): New locals. Create new
+       STRING_CSTs each time, use memcpy. Fixes gcj/311.
+
+2000-08-07  Hans Boehm  <boehm@acm.org>
+
+       * boehm.c (mark_reference_fields): Set marking bits for all words in
+       a multiple-word record.
+       (get_boehm_type_descriptor): Use the procedure marking descriptor for
+       java.lang.Class.
+       
+2000-08-31  Mike Stump  <mrs@wrs.com>
+
+       * Make-lang.in (jc1$(exeext), gcjh$(exeext), jv-scan$(exeext),
+       jcf-dump$(exeext)): Make parallel safe.
+
+2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * jcf-parse.c (set_source_filename): Constify a char *.
+       * jcf-write.c (append_innerclasses_attribute,
+       make_class_file_name): Constify a char *.  Don't recycle a
+       variable for an unrelated purpose.
+       * parse.y: (build_alias_initializer_parameter_list): Constify a char *.
+       (breakdown_qualified): Do not modify IDENTIFIER_POINTER strings.
+
+2000-08-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * expr.c (can_widen_reference_to): Fixed indentation.
+       * java-tree.h (CLASS_METHOD_CHECKED_P): Added leading comment.
+       * parse.y: `finit$' replaces `$finit$' in comments.
+       (try_builtin_assignconv): Fixed leading comment.
+
+2000-08-25  Greg McGary  <greg@mcgary.org>
+
+       * gjavah.c (cxx_keyword_subst): Use ARRAY_SIZE.
+
+2000-08-24  Greg McGary  <greg@mcgary.org>
+
+       * lang.c (lang_decode_option): Use ARRAY_SIZE.
+       * parse.y (BINOP_LOOKUP): Likewise.
+
+2000-08-22  Andrew Haley  <aph@cygnus.com>
+
+       * javaop.h (WORD_TO_INT): Mask lower 32 bits of a jword before
+       sign extending. Fixes gcj/321.
+       * jcf-parse.c (get_constant): Mask lower 32 bits of a jint before
+       combining to make a jlong. Fixes gcj/321.
+
+2000-08-21  Nix  <nix@esperi.demon.co.uk>
+        
+       * lang-specs.h: Do not process -o or run the assembler if
+       -fsyntax-only.
+
+2000-08-16  Andrew Haley  <aph@cygnus.com>
+
+       * typeck.c (build_java_array_type): Rewrite code to do array
+       alignment.  Take into account back-end macros when aligning array
+       data.  Remove setting of TYPE_USER_ALIGN; Java doesn't allow the
+       user to set alignment. Fixes gcj/252 and 160.
+
+2000-08-09  Tom Tromey  <tromey@cygnus.com>
+
+       * parse.y (check_abstract_method_definitions): Now return `int'.
+       Check implemented interfaces.  Fixes PR gcj/305.
+
+       * parse.y (patch_switch_statement): Disallow `long' in switch
+       expressions.  Fixes PR gcj/310.
+
+2000-08-15  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * decl.c (finit_leg_identifier_node): New global.
+       (init_decl_processing): Use `finit$' to initialize
+       finit_identifier_node. Use `$finit$' to initialize
+       finit_leg_identifier_node.
+       * expr.c (expand_java_field_op): Use ID_FINIT_P.
+       * java-tree.h (finit_identifier_node): Changed attached comment.
+       (finit_leg_identifier_node): New declaration.
+       (ID_FINIT_P): Take finit_identifier_node and
+       finit_leg_identifier_node into account. This is a backward
+       compatibility hack.
+
 2000-08-14  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * jcf-write.c (generate_bytecode_conditional): Re-installed lost
@@ -23,10 +653,10 @@ Sun Aug 13 09:41:49 2000  Anthony Green  <green@redhat.com>
        of a `invokeinterface' at the right time.
        * parse.h (WFL_STRIP_BRACKET): New macro.
        (SET_TYPE_FOR_RESOLUTION): Use it.
-       * parse.y (build_unresolved_array_type): Reuse `type_or_wfl.'
+       * parse.y (build_unresolved_array_type): Reuse `type_or_wfl'.
        (check_class_interface_creation): Don't check for cross package
        innerclass name clashes.
-       (method_header): Behave properly if MDECL is `error_mark_node.'
+       (method_header): Behave properly if MDECL is `error_mark_node'.
        (method_declarator): Return `error_mark_node' if bogus current
        class.
        (resolve_class): Apply WFL_STRIP_BRACKET on `cl' if necessary.
@@ -40,10 +670,27 @@ Sun Aug 13 09:41:49 2000  Anthony Green  <green@redhat.com>
        `case' statement.
        (patch_assignment): Set DECL_INITIAL on integral final local.
 
-2000-08-07  Alexandre Petit-Bianco  <apbianco@cygnus.com
+2000-08-08  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * java-tree.h (flag_extraneous_semicolon): New extern.
+       * lang-options.h: (-Wextraneous-semicolon): New option.
+       * lang.c (flag_redundant): Fixed typo in leading comment.
+       (flag_extraneous_semicolon): New global.
+       (lang_decode_option): Set `flag_extraneous_semicolon' when
+       -Wall. Decode `-Wextraneous-semicolon'.
+       * parse.y (type_declaration:): Removed `SC_TK' hack, added
+       `empty_statement' rule.
+       (class_body_declaration): Likewise.
+       (method_body:): Accept `;' as a method body.
+       (static_initializer:): Removed `SC_TK' hack.
+       (constructor_block_end:): Likewise.
+       (empty_statement:): Report deprecated empty declaration. Fixes
+       gcj/295
+
+2000-08-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (build_dot_class_method_invocation): Changed parameter
-       name to `type.' Build signature from `type' and convert it to a
+       name to `type'. Build signature from `type' and convert it to a
        STRING_CST if it's an array.
        (patch_incomplete_class_ref): `build_dot_class_method_invocation'
        to use `ref_type' directly.
@@ -169,6 +816,11 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
 2000-07-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
+       * parse.y (process_imports): Consider that one might be trying to
+       import an innerclass. Fixes gcj/254
+
+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.
 
@@ -178,6 +830,12 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
        (resolve_type_during_patch): Use `type' as a second
        argument to resolve_no_layout. Fixes gcj/257.
 
+2000-07-18  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * parse.y (find_most_specific_methods_list): Select the only 
+       non-abstract method even if max has been set.
+       Fixes gcj/285, gcj/298.
+
 2000-07-18  Jeff Sturm  <jeff.sturm@appnet.com>
 
        * lang-specs.h: Added %(jc1) to java compiler options.
@@ -226,7 +884,7 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
        classes.
        * java-tree.h (TYPE_PROTECTED_INNER_CLASS): New macro.
        (CLASS_PROTECTED): Likewise.
-       (struct lang_type): New bitfield `poic.'
+       (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
@@ -236,7 +894,7 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 2000-07-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (resolve_qualified_expression_name): Verify qualified
-       access to `this.' Fixes gcj/239.
+       access to `this'. Fixes gcj/239.
 
 2000-07-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -268,7 +926,7 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
 2000-07-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-       * java-tree.h (java_debug_context): Declared `extern.'
+       * 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.
@@ -277,7 +935,7 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
        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.'
+       (valid_ref_assignconv_cast_p): Removed call to `enclosing_context_p'.
 
 2000-07-05  Tom Tromey  <tromey@cygnus.com>
 
@@ -371,7 +1029,7 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.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.'
+       (struct lang_type): New field `pic'.
        (CLASS_PRIVATE): New macro.
        * parse.y (check_inner_class_access): New function.
        (jdep_resolve_class): Call it.
@@ -969,7 +1627,7 @@ Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 Mon Mar 20 08:58:51 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR:
-       properly initialize `finished_label.' Don't emit gotos for empty
+       properly initialize `finished_label'. Don't emit gotos for empty
        try statements.
 
 2000-03-19  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
@@ -1445,7 +2103,7 @@ Thu Feb 10 20:10:43 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 Thu Feb 10 16:04:26 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-       * parse.y (resolve_package): New local `acc.' Try to progressively
+       * parse.y (resolve_package): New local `acc'. Try to progressively
        build and guess a package and type name.
 
 Thu Feb 10 12:52:09 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
@@ -1459,7 +2117,7 @@ Thu Feb 10 12:52:09 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
         * class.c (layout_class): Set and test CLASS_BEING_LAIDOUT.
         Generate error message if circularity is detected. New static
-        local `list.'
+        local `list'.
         * java-tree.h (CLASS_BEING_LAIDOUT): New flag usage, new macro.  *
         * jcf-write.c (generate_bytecode_insns): Very simply handle
         SAVE_EXPR.