+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 *.
* 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
(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: