OSDN Git Service

* jcf-parse.c (yyparse): Set/reset input_filename for source file.
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
index f7bae10..31c4d4c 100644 (file)
@@ -1,3 +1,614 @@
+2001-03-15  Per Bothner  <per@bothner.com>
+
+       * jcf-parse.c (yyparse):  Set/reset input_filename for source file.
+       * parse.y (java_expand_classes):  Likewise.
+       
+       * parse.y (expand_start_java_method):  Was only called once and had a
+       misleading name, so inline in caller java_complete_expand_method.
+       (enter_a_block):  Likewise inline in enter_block and remove.
+
+       Remove junk from when gcc/java was created (by copying from C/C++).
+       * decl.c (keep_next_level_flag, keep_next_if_subblocks):  Remove.
+       (struct binding_level):  Remove fields keep, keep_if_subblocks,
+       more_cleanups_ok, have_cleanups (which have never been used).
+       (pushlevel, poplevel):  Remove related useless code.
+
+       * class.c (make_class_data):  The class_dtable_decl (i.e. the
+       vtable for Class) should be external, except when compiling Class.
+
+       * jvspec.c (lang_specific_driver):  Fix -C handling.
+       Check -save-temps to see if temp @FILE should be deleted.
+       Follow-up to/fix for February 16 patch.
+
+       * verify.c (verify_jvm_instructions):  Better error msgs for dup.
+       (type_stack_dup):  Remove no-longer neded error check.
+
+2001-03-15  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * mangle.c (mangle_record_type): Rename 'from_pointer' argument
+       to 'for_pointer'. If this type is for a pointer (argument) mangling,
+       don't surround the element with 'N..E' if the type name is 
+       unqualified.
+
+2001-03-14  Mark Mitchell  <mark@codesourcery.com>
+
+       * class.c (build_static_field_ref): Use COPY_DECL_RTL,
+       DECL_RTL_SET_P, etc.
+       (make_method_value): Likewise.
+       (get_dispatch_table): Likewise.
+
+       * decl.c (push_jvm_slot): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
+       
+2001-03-07  Tom Tromey  <tromey@redhat.com>
+
+       * config-lang.in (lang_requires): Define.
+
+2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
+
+       * typeck.c (convert): Check flag_unsafe_math_optimizations,
+       not flag_fast_math.
+
+2001-03-05  Per Bothner  <per@bothner.com>
+
+       Fix a problem where rest_of_decl_compilation applied to
+       class_dtable_decl causes problems because it was done too early,
+       before output file was opened.
+       * decl.c (init_decl_processing):  Remove init of class_dtable_decl.
+       * class.c (class_dtable_decl):  Add macro - element of class_roots.
+       (make_class_data):  Define class_dtable_decl.
+       * java-tree.h (JTI_CLASS_DTABLE_DECL, class_dtable_decl):  Removed.
+
+2001-03-01  Zack Weinberg  <zackw@stanford.edu>
+
+       * java/class.c, java/decl.c, java/java-tree.h: Replace all
+       uses of 'boolean' with 'bool'.
+
+2001-03-01  Zack Weinberg  <zackw@stanford.edu>
+
+       * lang-specs.h: Add zero initializer for cpp_spec field to all
+       array elements.
+
+2001-02-16  Per Bothner  <per@bothner.com>
+
+       Handle compiling multiple input files at once, and @FILE syntax.
+       * gcj.texi:  Updated documentation to match.
+       * java-tree.h (flag_filelist_file, init_src_parse):  New declarations.
+       * jcf-parse.c (parse_source_file):  Split into ...
+       (parse_source_file_1):  New function - and:
+       (parse_source_file_2):  New function.
+       (yyparse):  On -ffilelist-file, open and scan named file.
+       On first pass over files, only do parse_source_file_1.
+       A new second pass calls parse_source_file_2 for each file to compile.
+       (init_jcf_parse):  Call init_src_parse.
+       * jvspec.c (INDIRECT_FILE_ARG):  New flag.
+       (lang_specific_driver):  Support @FILELIST-FILE syntax, as well
+       as multiple input file combined in one compilation.
+       * lang-options.h:  Add -ffilelist-file
+       * lang.c (flag_filelist_file):  New flag variable.
+       (lang_f_options):  Handle -ffilelist-file.
+       * lex.c (java_init_lex): Don't clear ctxp->incomplete_class.
+       * parse.h (struct parse_ctxt):  Remove fields incomplete_class and
+       gclass_list - use global fields of src_parse_roots instead.
+       * parse.y (src_parse_roots):  New array.
+       (incomplete_class_list, gclass_list):  New macros.
+       (push_parser_context, java_pop_parser_context,
+       java_parser_context_resume):  Don't fiddle with deleted fields.
+       (various):  Use incomplete_class gclass_list and global macros
+       instead of parse_ctxt fields - the lists are global.
+       (init_src_parse):  New function.
+
+Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
+
+2001-02-20  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * parse.y (check_inner_class_access): Moved declaration of local
+       `enclosing_decl_type' to the right location.
+
+2001-02-19  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * parse.y (parser_check_super_interface): Don't call 
+       check_pkg_class_access for an inner interface.
+       (parser_check_super): Don't call check_pkg_class_access for inner 
+       class.
+       (do_resolve_class): Simplify enclosing type loop. Don't call 
+       check_pkg_class_access if CL and DECL are not set.
+       (find_in_imports_on_demand): Set DECL if class_type needed to be
+       loaded. Don't call check_pkg_class_access for an inner class.
+       (check_inner_class_access): Rewritten to implement member access
+       rules as per spec 6.6.1.
+       (check_pkg_class_access): Handle the empty package correctly.
+       (in_same_package): New function. Determine if two classes are in the
+       same package.
+
+2001-02-18  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * typeck.c (build_java_array_type): Don't try to poke a public `clone'
+       method into array types.
+       * parse.y (patch_method_invocation): Bypass access check on clone call
+       to array instance.
+       
+2001-02-15  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * expr.c (build_instanceof): Check for arrays when trying fold to
+       false.
+
+2001-02-15  Jim Meyering  <meyering@lucent.com>
+
+       * Make-lang.in (java.install-common): Depend on `installdirs'.
+       (java.install-info): Likewise.
+
+2001-02-15  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * Make-lang.in (jvspec.o): Modify rule to match that of cp/g++spec.o.
+
+2001-02-14  Tom Tromey  <tromey@redhat.com>
+            Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       Fix for PR java/1261.
+       * typeck.c (build_java_array_type): Add public `clone' method to
+       arrays.
+       * parse.y (resolve_qualified_expression_name): Use current_class
+       when checking for inaccessibility.
+       (patch_method_invocation): Fixed error message when accessibility
+       denied.  Added `from_super' argument.
+
+2001-02-14  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * parse.y (resolve_class): Don't build a fake decl. Use the one
+       already built.
+       * typeck.c (build_java_array_type): Build and assign decl to array
+       type.
+
+2001-02-14  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * parse.y (not_accessible_p): Changed leading comment. Added extra
+       `where' argument. Use it to enforce protected access rules.
+       (resolve_qualified_expression_name): Added extra argument to
+       not_accessible_p.
+       (patch_method_invocation): Use argument `primary' to provide
+       not_accessible_p with an extra argument.
+       (lookup_method_invoke): Added extra argument to not_accessible_p.
+       (search_applicable_method_list): Likewise.
+
+2001-02-13  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * parse.y (resolve_qualified_expression_name): Try to resolve as
+       an inner class access only if `decl' is a TYPE_DECL.
+
+2001-02-13  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * decl.c (classdollar_identifier_node): Initialize.
+       * java-tree.h (enum java_tree_index): New entry 
+       `JTI_CLASSDOLLAR_IDENTIFIER_NODE.'
+       (classdollar_identifier_node): New macro.
+       (ID_CLASSDOLLAR_P): Likewise.
+       * parse.y (build_dot_class_method): Use `classdollar_identifier_node.'
+       (build_dot_class_method_invocation): Likewise.
+       (find_applicable_accessible_methods_list): `class$' can't be
+       inherited.
+
+2001-02-09  Raja R Harinath  <harinath@cs.umn.edu>
+
+       * Make-lang.in (java/mangle_name.o): Add 'make' prereqs.
+
+2001-02-09  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * Manke-lang.in (JVGENMAIN_OBJS): Added `errors.o'
+       * jvgenmain.c (error): Reversed 2001-02-09 patch. `error' is now
+       gone.
+
+2001-02-09  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * mangle_name (append_unicode_mangled_name): Emit `_' or `U'
+       outside of the `__U' sequence too.
+       (unicode_mangling_length): Count `_' or `U' outside of the `__U'
+       sequence too.
+
+2001-02-09  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * jvgenmain.c (error): Reversed 2001-02-01 deletion.
+
+2001-02-08  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * Make-lang.in (JAVA_OBJS): Added java/mangle_name.o
+       (JVGENMAIN_OBJS): Likewise.
+       * java-tree.h (append_gpp_mangled_name): New prototype. 
+       * jcf-parse.c (ggc_mark_jcf): Argument now `void *.'
+       Removed cast calling `gcc_add_root.'
+       * jvgenmain.c (mangle_obstack): New global, initialized.
+       (main): Use it.
+       (do_mangle_class): Constify local `ptr.'
+       Removed macro `MANGLE_NAME.' Removed cast in `for.' Call
+       append_gpp_mangle_name and update `count' if necessary.
+       Use `mangle_obstack.'
+       * mangle.c (append_unicode_mangled_name): Removed.
+       (append_gpp_mangled_name): Likewise.
+       (unicode_mangling_length): Likewise.
+       (mangle_member_name): Return type set to `void.'
+       (mangle_field_decl): Don't append `U' in escaped names.
+       (mangle_method_decl): Likewise.
+       (mangle_member_name): Just use `append_gpp_mangled_name.'
+       * mangle_name.c: New file.
+
+2001-02-07  Per Bothner  <per@bothner.com>
+
+       * check-init.c (check_init):  Fix TRY_FINALLY_EXPR logic.
+
+       * check-init.c (check_init):  Don't call done_alternative after
+       processing loop code, as a LOOP_EXPR never terminates normally.
+
+2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gcj.texi: Change sources.redhat.com reference to gcc.gnu.org.
+
+2001-02-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Don't handle field
+       DECLs.
+
+2001-02-06  Tom Tromey  <tromey@redhat.com>
+
+       * lex.c (java_new_lexer): Longer error message.
+
+2001-02-05  Jeff Sturm  <jeff.sturm@commerceone.com>
+           Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * typeck.c (build_prim_array_type): Added leading comment.
+       (build_java_array_type): Moved locals out of
+       block. Always create the `data' field, fixed alignment to match
+       C++.
+
+2001-02-04  Tom Tromey  <tromey@redhat.com>
+
+       * expr.c (java_lang_expand_expr): Don't bother recomputing
+       `length'.  Use rest_of_decl_compilation, not make_decl_rtl.
+       Fixes PR java/1866.
+
+2001-02-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (process_imports): Save the original name of the import
+       for better error report.
+
+2001-02-04  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * Make-lang.in (jvspec.o): Add DRIVER_DEFINES to the list
+       of macros used when compiling jvspec.c.
+       * jvspec.c (lang_specific_driver): Link with the shared
+       libgcc by default.
+
+Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * check-init.c (check_init): Call internal_error instead of fatal.
+       * expr.c (java_lang_expand_expr): Likewise.
+       * jcf-parse.c (get_constant): Likewise.
+       * mangle.c (java_mangle_decl): Likewise.
+       * parse.y (make_nested_class_name, java_complete_lhs): Likewise.
+       (operator_string): Likewise.
+       * check-init.c (check_init): Call abort instead of fatal.
+       * class.c (build_class_ref): Likewise.
+       * constants.c (write_constant_pool): Likewise.
+       * decl.c (start_java_method): Likewise.
+       * expr.c (push_type, java_stack_pop, java_stack_swap): Likewise.
+       (java_stack_dup, encode_newarray_type): Likewise.
+       (build_java_array_length_access): Likewise.
+       (build_java_check_indexed_type, expand_java_pushc): Likewise.
+       (build_java_soft_divmod, build_invokeinterface): Likewise.
+       * java-tree.h (INNER_CLASS_P): Likewise.
+       * jcf-parse.c (parse_signature, get_name_constant): Likewise.
+       (give_name_to_class, get_class_constant): Likewise.
+       * jcf-write.c (CHECK_PUT, CHECK_OP, get_access_flags): Likewise.
+       (find_constant_index, generate_bytecode_conditional): Likewise.
+       (generate_bytecode_insns, perform_relocations): Likewise.
+       * lex.c (java_unget_unicode, java_lex): Likewise.
+       * mangle.c (mangle_type, mangle_record_type): Likewise.
+       (mangle_pointer_type, mangle_array_type, init_mangling): Likewise.
+       (finish_mangling): Likewise.
+       * parse.h (MARK_FINAL_PARMS): Likewise.
+       * parse.y (pop_current_osb, unreachable_stmt_error): Likewise.
+       (obtain_incomplete_type, java_complete_class): Likewise.
+       (java_check_regular_methods, java_complete_expand_method): Likewise.
+       (cut_identifier_in_qualified, check_deprecation): Likewise.
+       (patch_invoke, find_applicable_accessible_methods_list): Likewise.
+       (java_complete_lhs, lookup_name_in_blocks): Likewise.
+       (check_final_variable_indirect_assignment, build_unaryop): Likewise.
+       * typeck.c (set_local_type, parse_signature_type): Likewise.
+       (parse_signature_string, build_java_signature): Likewise;
+       (set_java_signature): Likewise.
+       * verify.c (type_stack_dup, CHECK_PC_IN_RANGE): Likewise.
+       * class.c (add_method): Call fatal_error instead of fatal.
+       (build_static_field_ref): Likewise.
+       * expr.c (build_known_method_ref, expand_invoke): Likewise.
+       * jcf-parse.c (get_constant, jcf_parse): Likewise.
+       * lex.c (java_new_new_lexer): Likewise.
+       * jv-scan.c (main): Likewise.
+       (fatal_error): Renamed from fatal.
+       * jcf-parse.c (yyparse): Call fatal_io_error instead of
+       pfatal_with_name.
+       * jcf-parse.c (jcf_parse_source): Call fatal_io_error, not fatal.
+       (yyparse): Likewise.
+       * jcf-write.c (make_class_file_name, write_classfile): Likewise.
+       * lex.c (java_get_line_col): Likewise.
+       * jcf-parse.c (load_class): Make errors non-fatal.
+       * lex.c (byteswap_init, need_byteswap): Only #ifdef HAVE_ICONV.
+       
+2001-02-01  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * jvgenmain.c (class_mangling_suffix): Remove unused string.
+       (error): Remove unused function.
+       (main): Don't use "__attribute__ alias" on generated class symbol.
+
+2001-01-30  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * jcf-parse.c (init_jcf_parse): Added cast to ggc_add_root's last
+       argument.
+       * parse.y (finish_method_declaration): Code accounting for WFLed
+       method DECL_NAMEs deleted.
+       (check_abstract_method_definitions): Likewise.
+       (resolve_type_during_patch): Layout resolved type.
+       * typeck.c (lookup_do): Removed unused local.
+
+2001-01-30  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java-tree.h: Remove JTI_INTEGER_NEGATIVE_ONE_NODE.
+       * decl.c (init_decl_processing): Use integer_minus_one_node, not
+       integer_negative_one_node.
+       * expr.c (build_java_binop): Likewise.
+
+2001-01-24  Jeff Sturm  <jeff.sturm@commerceone.com>
+
+       * zextract.c (read_zip_archive): Read file_offset before writing
+       zipd and consequently clobbering the header contents.
+
+2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Make-lang.in: Remove all dependencies on defaults.h.
+       * decl.c: Don't include defaults.h.
+       * expr.c: Likewise.
+       * parse.y: Likewise.
+
+2001-01-25  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * ChangeLog (2001-01-21): Fixed typo.
+       * class.c (layout_class_method): Code accounting for WFLed
+       method DECL_NAMEs deleted.
+       * constant.c (find_methodref_index): Likewise.
+       * decl.c (lang_mark_tree): Mark `wfl' field in struct lang_decl.
+       * java-tree.h (DECL_FUNCTION_WFL): New macro.
+       (struct lang_decl): New field `wfl'.
+       (java_get_real_method_name): Prototype deleted.
+       * mangle.c (mangle_method_decl): Code accounting for WFLed
+       method DECL_NAMEs deleted.
+       * parse.h (GET_METHOD_NAME): Macro deleted.
+       * parse.y (reset_method_name): Deleted.
+       (method_header): Set DECL_FUNCTION_WFL.
+       (check_abstract_method_header): Code accounting for WFLed method
+       DECL_NAMEs deleted.
+       (java_get_real_method_name): Deleted.
+       (check_method_redefinition): Code accounting for WFLed method
+       DECL_NAMEs deleted. Use DECL_FUNCTION_WFL.
+       (java_check_regular_methods): Likewise.
+       (java_check_abstract_methods): Likewise.
+       (java_expand_classes): Don't call `reset_method_name.'
+       (search_applicable_method_list): Use DECL_NAMEs instead of
+       GET_METHOD_NAME.
+       * typeck.c (lookup_do): Code accounting for WFLed method
+       DECL_NAMEs deleted.
+
+2001-01-25  Richard Earnshaw  <rearnsha@arm.com>
+
+       * lex.c (java_read_char): Check for EOF from getc first.
+
+2001-01-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * class.c (layout_class): Don't lay the superclass out if it's
+       already being laid out.
+       * jcf-parse.c (handle_innerclass_attribute): New function.
+       (HANDLE_INNERCLASSES_ATTRIBUTE): Invoke
+       handle_innerclasses_attribute.
+       (jcf_parse): Don't load an innerclasses if it's already being
+       laid out.
+       * jcf-write.c (append_innerclass_attribute_entry): Static
+       `anonymous_name' and its initialization deleted. `ocii' and `ini'
+       to be zero for anonymous classes.
+
+2001-01-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * class.c (set_constant_value): Set DECL_FIELD_FINAL_IUD if
+       necessary.
+       * jcf-parse.c (set_source_filename): Use
+       MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC if necessary.
+
+2001-01-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * expr.c (build_jni_stub): Set DECL_CONTEXT on `meth_var' so it
+       gets a unique asm name.
+
+2001-01-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * jcf-parse.c (HANDLE_END_METHODS): Nullify current_method.
+       (HANDLE_START_FIELD): Invoke MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC
+       if necessary.
+       (HANDLE_SYNTHETIC_ATTRIBUTE): New macro.
+       * jcf-reader.c (get_attribute): Handle `Synthetic' attribute.
+       * parse.y (lookup_package_type_and_set_next): Deleted.
+       (resolve_package): Removed unnecessary code.
+       (find_applicable_accessible_methods_list): `finit$' can't be
+       inherited.
+       * verify.c (pop_argument_types): Added missing prototype.
+
+2001-01-23  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * config-lang.in: Disable java by default.
+
+2001-01-23  Tom Tromey  <tromey@redhat.com>
+
+       * gcj.texi (Copying): New node.
+       Added copyright information.
+
+2001-01-21  Per Bothner  <per@bothner.com>
+
+       Various fixes to allow compiling a compressed .jar/.zip archive.
+       * zipfile.h (struct ZipFileCache):  Replace by struct ZipFile.
+       (struct ZipFile):  Add fields name and next (from  ZipFileCache).
+       (struct ZipDirectory):  New field zipf points to owning ZipFile.
+       * jcf.h (struct ZipDirectory):  Add forward declaration.
+       (struct JCF):   Declare zipd field to have type struct ZipDirectory.
+       Remove seen_in_zip and zip_offset fields.
+       (JCF_SEEN_IN_ZIP):  New macro.
+       * zextract.c (read_zip_archive):  Set ZipDirectory's zipf field.
+       * jcf-io.c:  Change all ZipFileCache to ZipFile.
+       (read_zip_member):  New function.
+       (open_in_zip):  Call read_zip_member.
+       * jcf-parse.c (find_in_current_zip):  Remove function.
+       (read_class):  Merge in find_in_current_zip functionality.
+       Call read_zip_member if needed.
+       (parse_zip_file_entries):  Use read_zip_member.
+       (process_zip_dir):  Update for removed and added JCF fields.
+       (jcf_figure_file_type):  Re-use, don't copy initial ZipFile struct.
+
+2001-01-21  Per Bothner  <per@bothner.com>
+
+       Minor optimization of static ggc roots.
+       * jcf-parse.c (parse_roots):  New static field.
+       (current_field, current_method, current_file_list):  Replace by macros
+       naming fields of parse_roots.
+       (init_jcf_parse):  Combine 3 ggc_add_tree_root calls to 1.
+       * class.c (class_roots):  New static field.
+       (registered_class, fields_ident, info_ident, class_list):
+       New macros naming fields of parse_roots.
+       (build_static_field_ref):  Don't register roots here.
+       (layout_class):  Static field list replaced by macro class_list.
+       (init_class_processing):  Call ggc_add_tree_root for 4 roots.
+       Initialize fields_ident and info_ident here.
+
+2001-01-21  Per Bothner  <per@bothner.com>
+
+       * jcf-parse.c (ggc_mark_jcf):  New function.
+       (init_jcf_parse):  Register current_jcf as ggc root.
+
+2001-01-21  Per Bothner  <per@bothner.com>
+
+       * lang.c (put_decl_node):  Print method's name.
+
+2001-01-21  Per Bothner  <per@bothner.com>
+
+       * verify.c (VERIFICATION_ERROR_WITH_INDEX):  New macro.
+       (verify_jvm_instructions):  Use it, for better error messages on loads.
+
+2001-01-21  Per Bothner  <per@bothner.com>
+
+       * verify.c (merge_type_state):  Still may have to merge even if
+       LABEL_VERIFIED (label).
+
+2001-01-21  Per Bothner  <per@bothner.com>
+
+       * parse.y (method_header):  Don't set the DECL_NAME of a FUNCTION_DECL
+       to a EXPR_WITH_FILE_LOCATION - that is just too fragile and wrong.
+
+2001-01-19  Per Bothner  <per@bothner.com>
+
+       * expr.c (pop_type_0):  Only return object_ptr_type_node on mismatch
+       if expeting an interface type.  Refines Tom's change of 2000-09-12.
+
+2001-01-18  Per Bothner  <per@bothner.com>
+
+       * gcj.texi (Input Options): Mention .java files.
+
+2001-01-17  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * lang-options.h (-Wunsupported-jdk11): Removed.
+       * lang.c (flag_not_overriding): Deleted.
+       (flag_static_local_jdk1_1): Likewise.
+       (lang_W_options): Removed "unsupported-jdk11" entry.
+       * parse.y (java_check_methods): Removed dead code.
+
+2001-01-17  Tom Tromey  <tromey@redhat.com>
+
+       Changes suggested by Per Bothner:
+       * gcj.texi (Input Options): Don't mention input files.
+       (Code Generation): Updated --main information.
+       (Invoking jcf-dump): Mention that --javap is incomplete.
+       From Alexandre Petit-Bianco:
+       (Warnings): Don't mention -Wunsupported-jdk11.
+       My stuff:
+       (Compatibility): Mention JDK 1.2-ness of libraries.
+       (Resources): Mention resources used when writing gcj.
+
+2001-01-17  Tom Tromey  <tromey@redhat.com>
+
+       * gcj.texi: New file.
+       * Make-lang.in ($(srcdir)/java/gcj.info): New target.
+       (java.info): Depend on gcj.info.
+       (java/gcj.dvi): New target.
+       (java.dvi): Depend on gcj.dvi.
+       (java.install-info): Wrote.
+
+2001-01-16  Jeff Sturm  <jeff.sturm@appnet.com>
+
+       * expr.c (java_lang_expand_expr): Use TREE_SYMBOL_REFERENCED after
+       having called make_decl_rtl.
+
+2001-01-14  Per Bothner  <per@bothner.com>
+
+       Various patches to emit better messages on verification errors.
+       * expr.c (push_type_0):  Return error indication on stack overflow,
+       instead of callinfg fatal.
+       (push_type):  Now just call push_type_0 (nd fatal on overflow).
+       (pop_type_0):  Return detailed error message (in a char** argument).
+       (pop_type):  If pop_type_0 fails, print error message.
+       (pop_argument_types):  Moved to verify.c.
+       * verify.c (pop_argument_types):  Moved from expr.c.
+       Return a (possible) error message, rather than void.
+       (POP_TYPE, POP_TYPE_CONV, PUSH_TYPE, PUSH_PENDING):  New macros.
+       (verify_jvm_instruction):  Use new macros, improving error messages.
+       For case OPCODE_astore use object_ptr_type_node.
+       * java-tree.h (TYPE_UNDERFLOW, TYPE_UNEXPECTED):  New macros.
+       (pop_type_0, push_type_0, pop_argument_types):  Update accordingly.
+
+       * parse.y (java_complete_lhs case EXPR_WITH_FILE_LOCATION): If body is
+       constant, return body without wrapper.  (Improves constant folding.)
+       * lex.c (build_wfl_node):  Clear TREE_TYPE from returned node.
+
+2001-01-13  Per Bothner  <per@bothner.com>
+
+       * expr.c (expand_java_field_op):  Assigning to a final field outside
+       an initializer does not violate JVM spec, so should be warning, not
+       error.  (Sun's verifier does not complain - though MicroSoft's does.)
+       
+2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gjavah.c (version), jcf-dump.c (version): Update copyright year
+       to 2001.
+
+2001-01-11  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * parse.y (resolve_expression_name): Permit instance variables from
+       enclosing context in super constructor call.
+       (resolve_qualified_expression_name): Permit enclosing class's qualified
+       "this" in super constructor call.
+
+2001-01-10  Mark Mitchell  <mark@codesourcery.com>
+
+       * class.c (build_utf8_ref): Remove last argument in call to
+       make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
+       (build_class_ref): Likewise.
+       (build_static_field_ref): Likewise.
+       (get_dispatch_table): Likewise.
+       (layout_class_method): Likewise.
+       (emit_register_classes): Likewise.
+       * constants.c (build_constant_data_ref): Likewise.
+       * decl.c (builtin_function): Likewise.
+       (create_primitive_vtable): Likewise.
+       * expr.c (build_known_method_def): Likewise.
+       (build_jni_stub): Likewise.
+       (java_lang_expand_expr): Likewise.
+       
+2001-01-10  Tom Tromey  <tromey@redhat.com>
+
+       * jvspec.c (jvgenmain_spec): Omit -fencoding from cc1 invocation.
+
 2001-01-08  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * java-tree.h (lang_printable_name_wls): New prototype.
        (not_accessible_p): Grant `private' access from within
        enclosing contexts.
        
+2001-01-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       All files with updated copyright when applicable.
+       * Make-lang.in (JVGENMAIN_OBS): Removed java/mangle.o.
+       * class.c (mangle_class_field): Function removed.
+       (append_gpp_mangled_type, mangle_static_field, mangle_field): Likewise.
+       (utf8_cmp, cxx_keyword_p): Moved to lex.c.
+       (build_class_ref): Call `java_mangle_class_field' instead of
+       `mangle_class_field.'
+       (build_dtable_decl): Rewritten to call `java_mangle_vtable.'
+       (layout_class): Call `java_mangle_decl' instead of 
+       `mangle_static_field.'
+       (cxx_keywords): Initialized static array moved to `lex.c.'
+       (layout_class_method): Changed leading comment. Simplified to
+       call `java_mangle_decl.' Local `ptr' moved in for loop body.
+       * decl.c (lang_mark_tree): Mark field `package_list.'
+       * java-tree.h (TYPE_PACKAGE_LIST): New macro.
+       (struct lang_type): New field `package_list.'
+       (unicode_mangling_length): Prototype removed.
+       (append_gpp_mangled_name, append_gpp_mangled_classtype,
+       emit_unicode_mangled_name): Likewise.
+       (cxx_keyword_p): New prototype.
+       (java_mangle_decl, java_mangle_class_field,
+       java_mangle_class_field_from_string, java_mangle_vtable): Likewise.
+       * jcf-parse.c (jcf_parse_source): Constify `file' argument to
+       `build_expr_wfl.'
+       * jvgenmain.c (main_method_prefix): Global variable removed.
+       (main_method_suffix): Likewise.
+       (do_mangle_classname): New function.
+       (main): Call it. Format changed to accomodate new mangling scheme.
+       * lex.c: (utf8_cmp): Conditionally prototyped.
+       (cxx_keywords): Moved from class.c, conditionally defined.
+       (utf8_cmp, cxx_keyword_p): Likewise.
+       * mangle.c (obstack.h, ggc.h): Included.
+       (mangle_field_decl): New function.
+       (mangle_method_decl, mangle_type, mangle_pointer_type,
+       mangle_array_type, mangle_record_type,
+       find_compression_pointer_match, find_compression_array_match,
+       find_compression_record_match,
+       find_compression_array_template_match, set_type_package_list,
+       entry_match_pointer_p, emit_compression_string, init_mangling,
+       finish_mangling, compression_table_add, mangle_member_name): Likewise.
+       (mangle_obstack): New global.
+       (MANGLE_RAW_STRING): New macro.
+       (unicode_mangling_length): Turned static.
+       (append_unicode_mangled_name): Renamed from
+       `emit_unicode_mangled_name.'  Turned static. `mangle_obstack'
+       replaces `obstack', removed from the parameter list.
+       (append_gpp_mangled_name): Turned static. `mangle_obstack'
+       replaces parameter `obstack', removed from the parameter list. Call 
+       `append_unicode_mangled_name' instead of `emit_unicode_mangled_name.
+       (append_gpp_mangled_classtype): Removed.
+       (compression_table, compression_next): New static variables.
+       * parse.y (temporary_obstack): Extern declaration removed.
+
 2001-01-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (patch_binop): Compute missing type in error situations.