+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.
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.
`case' statement.
(patch_assignment): Set DECL_INITIAL on integral final local.
+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.
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.
(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.
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
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>
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.
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>
* 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.
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>
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>
* 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.