OSDN Git Service

* jcf-write.c (perform_relocations): Optmize a goto to a goto.
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
index 5211468..10a4746 100644 (file)
@@ -1,3 +1,155 @@
+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>