+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
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
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.
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.