+2002-06-04 Tom Tromey <tromey@redhat.com>
+
+ * jcf-write.c (perform_relocations): Optmize a goto to a goto.
+
+2002-06-04 Michael Koch <konqueror@gmx.de>
+
+ * gcj.texi (Input Options): Fixed typo.
+
+2002-06-04 Zack Weinberg <zack@codesourcery.com>
+
+ * java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,
+ typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks,
+ all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE,
+ and all now-pointless local variables. Rename other local
+ variables to reflect their not being handles.
+
+ * java-tree.h, jcf-dump.c, jcf-io.c: Remove all
+ #if JCF_USE_STDIO blocks.
+
+ * parse.y: Add missing semicolon at end of rule.
+
+2002-06-03 Geoffrey Keating <geoffk@redhat.com>
+
+ * check-init.c (attach_initialized_static_class): Delete, unused.
+ * parse.y: Use htab_t instead of struct hashtable, update
+ all uses.
+ * java-tree.h: Include hashtab.h instead of hash.h.
+ (struct lang_decl_func): Use htab_t, set up for gengtype.
+ (struct init_test_hash_entry): Delete.
+ (struct treetreehash_entry): New.
+ (java_treetreehash_find): New
+ (java_treetreehash_new): New prototype.
+ (java_treetreehash_create): New prototype.
+ (java_mark_tree): Delete prototype.
+ (java_hash_hash_tree_node): Delete prototype.
+ (java_hash_compare_tree_node): Delete prototype.
+ (attach_initialized_static_class): Delete prototype.
+ * expr.c (build_class_init): Update to use java_treetreehash
+ functions.
+ (java_expand_expr): Update to use htab_t.
+ (emit_init_test_initialization): Likewise.
+ * decl.c (java_mark_tree): Delete.
+ * class.c (init_test_hash_newfunc): Delete.
+ (java_hash_hash_tree_node): Delete.
+ (java_hash_compare_tree_node): Delete.
+ (add_method_1): Update to use java_treetreehash functions.
+ (JAVA_TREEHASHHASH_H): New macro.
+ (java_treetreehash_hash): New function.
+ (java_treetreehash_compare): New function.
+ (java_treetreehash_find): New function.
+ (java_treetreehash_new): New function.
+ (java_treetreehash_create): New function.
+ * Make-lang.in (JAVA_TREE_H): Replace hash.h by HASHTAB_H.
+
+ * Make-lang.in (java/parse.o): Depend on debug.h.
+ * java-tree.h (struct lang_identifier): Use gengtype.
+ (union lang_tree_node): New.
+ (struct lang_decl_func): Use gengtype.
+ (struct lang_decl_var): Likewise.
+ (struct lang_decl): Likewise.
+ * parse.y: Include debug.h.
+ * lang.c (LANG_HOOKS_MARK_TREE): Delete.
+
+ * lang.c (struct language_function): New dummy structure.
+
+ * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Set
+ descriminator for DECL_LANG_SPECIFIC.
+ (struct lang_decl_func): Rename from struct lang_decl.
+ (enum lang_decl_desc): New.
+ (struct lang_decl): Make it a union. Update all the accessor macros.
+ (struct lang_type): Use gengtype.
+ * class.c (add_method_1): Set descriminator for DECL_LANG_SPECIFIC.
+ * decl.c (java_dup_lang_specific_decl): All lang_decl structures
+ are now the same size.
+ (lang_mark_tree): Use gengtype to mark TYPE_LANG_SPECIFIC;
+ use discriminator to mark DECL_LANG_SPECIFIC.
+
+ * Make-lang.in (gt-java-builtins.h): New rule.
+ (java/builtins.o): Add dependency on gt-<filename>.h.
+ * builtins.c: Use gengtype for roots.
+ (union string_or_tree): Use gengtype.
+ (struct builtin_record): Use gengtype.
+ * config-lang.in (gtfiles): Add builtins.c.
+
+ * Make-lang.in (gt-java-class.h, gt-java-constants.h,
+ gt-java-decl.h, gt-java-expr.h, gt-java-jcf-parse.h,
+ gt-java-jcf-write.h, gt-java-lang.h, gt-java-mangle.h,
+ gt-java-parse.h, gtype-java.h): Add rules to generate.
+ (parse.o): Add dependency on gt-java-parse.h, gt-java.h.
+ (class.o): Add dependency on gt-*.h.
+ (constants.o): Likewise.
+ (decl.o): Likewise.
+ (expr.o): Likewise.
+ (jcf-parse.o): Likewise.
+ (jcf-write.o): Likewise.
+ (lang.o): Likewise.
+ * config-lang.in (gtfiles): New.
+ * class.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
+ * constants.c: Replace uses of ggc_add_* with GTY markers.
+ Include gt-*.h.
+ * decl.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
+ * expr.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
+ * java-tree.h: Replace uses of ggc_add_* with GTY markers.
+ * jcf-parse.c: Replace uses of ggc_add_* with GTY markers.
+ Include gt-*.h.
+ * jcf-write.c: Replace uses of ggc_add_* with GTY markers.
+ Include gt-*.h.
+ * lang.c: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
+ * mangle.c: Replace uses of ggc_add_* with GTY markers. Include
+ gt-*.h.
+ * parse.y: Replace uses of ggc_add_* with GTY markers. Include gt-*.h.
+ Include gtype-java.h.
+
+2002-06-02 Tom Tromey <tromey@redhat.com>
+
+ Fix for PR java/5913:
+ * parse.y (patch_binop): Call patch_string on op1.
+
+2002-06-02 Tom Tromey <tromey@redhat.com>
+
+ Fix for PR java/1343, PR java/6336:
+ * parse.y (make_nested_class_name): Remove extraneous `else'; fix
+ formatting. Changed return type.
+ (anonymous_class_counter): Moved to top of file.
+ (maybe_make_nested_class_name): Append number to class name for
+ function-local classes.
+
+2002-05-28 Zack Weinberg <zack@codesourcery.com>
+
+ * decl.c, jcf-parse.c, parse.y, typeck.c: Include real.h.
+ * Make-lang.in: Update dependency lists.
+
+2002-05-18 Mark Mitchell <mark@codesourcery.com>
+
+ * gjavah.c (throwable_p): Do not free the name of the class after
+ passing it to find_class.
+ * java-tree.h (CLASS_BEING_LAIDOUT): Remove duplicate definition.
+ * jcf-io.c (dirent.h): Include it.
+ (fnmatch.h): Likewise.
+ (compare_path): New function.
+ (java_or_class_file): Likewise.
+ (memoized_dirlist_entry): New type.
+ (memoized_dirlist_lookup_eq): New function.
+ (memoized_dirlists): New variable.
+ (caching_stat): New function.
+ (memoized_class_lookup_eq): New function.
+ (memoized_class_lookups): Likewise.
+ (find_class): Use memoized_class_lookups and caching_stat.
+ * jcf.h (JCF_USE_SCANDIR): Define.
+ * parse.y (java_expand_classes): Write the class files in reverse
+ order.
+
2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* Make-lang.in: Allow for PWDCMD to override hardcoded pwd.
2002-05-08 Mark Mitchell <mark@codesourcery.com>
- * jcf-write.c (write_classfile): Write the file to a
+ * jcf-write.c (write_classfile): Write the file to a
temporary file and then rename it.
2002-05-07 Tom Tromey <tromey@redhat.com>
2002-05-07 Andreas Jaeger <aj@suse.de>
- * parse.y (finish_for_loop): Fix if statement.
+ * parse.y (finish_for_loop): Fix if statement.
2002-05-06 Tom Tromey <tromey@redhat.com>
2002-04-19 Andrew Haley <aph@redhat.com>
- * jcf-write.c (push_long_const): lo, hi: New variables.
- Use rshift_double to extract the high part of a 64-bit long.
- Use WORD_TO_INT to extract the low part.
+ * jcf-write.c (push_long_const): lo, hi: New variables.
+ Use rshift_double to extract the high part of a 64-bit long.
+ Use WORD_TO_INT to extract the low part.
- * jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
- HOST_WIDE_INT for num. Use JPOOL_UINT to get it.
- CONSTANT_Double: Use JPOOL_UINT to get both halve of a double.
+ * jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
+ HOST_WIDE_INT for num. Use JPOOL_UINT to get it.
+ CONSTANT_Double: Use JPOOL_UINT to get both halve of a double.
2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>