OSDN Git Service

2001-03-27 Andrew Haley <aph@cambridge.redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / java / ChangeLog
index 3a7cf6f..252fc04 100644 (file)
@@ -1,3 +1,239 @@
+2001-03-27  Andrew Haley  <aph@cambridge.redhat.com>
+
+       * lang-options.h: Add flag_check_references.
+
+2001-04-04  Per Bothner  <per@bothner.com>
+
+       * java-tree.h (CONSTANT_VALUE_P):  New macro.
+       * jcf-write.c (generate_classfile):  Use CONSTANT_VALUE_P.
+       * parse.y (maybe_build_class_init_for_field):  New static function.
+       (resolve_expression_name, resolve_field_access):  Use
+       maybe_build_class_init_for_field instead of build_class_init 
+       This does not do the init if the field is compile-time-constant.
+       (resolve_field_access):  Simplify.
+
+       * parse.y (fold_constant_for_init):  Merge test into switch.
+
+2001-04-03  Zack Weinberg  <zackw@stanford.edu>
+
+       * Make-lang.in (buffer.o, check-init.o, class.o): Don't depend
+       on gansidecl.h.
+       * buffer.c, jvgenmain.c: Don't include gansidecl.h.
+
+2001-04-02  Zack Weinberg  <zackw@stanford.edu>
+
+       * expr.c (pop_type_0): Save the result of the first
+       lang_printable_name call in a scratch buffer, so it 
+       won't be clobbered by the second call.
+
+2001-03-30  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * parse-scan.y (array_type:): Rewritten.
+       (type_declaration:): `empty_statement' replaces `SC_TK.'
+       (class_member_declaration:): `empty statement' added.
+       (method_body:): Simplified.
+       (static_initializer:): Likewise.
+       (primary_no_new_array:): Use `type_literals.'
+       (type_literals:): New rule.
+       (dims:): Set and update `bracket_count.'
+       Fixes PR java/1074. Fixes PR java/2412.
+
+2001-03-28  Hans Boehm  <boehm@acm.org>
+
+       * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Set to use `build_int_2.'
+       (get_boehm_type_descriptor): Set type on returned value to be a
+       pointer length integer.
+
+2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * expr.c (pop_type_0): Call `concat' rather than building the
+       string manually.
+       (pop_type): Add format specifier in call to `error'.
+
+       * parse.y (patch_method_invocation): Avoid casting away
+       const-ness.
+
+2001-03-28  Jeffrey Oldham  <oldham@codesourcery.com>
+
+       * jvgenmain.c (do_mangle_classname): End string constant with '\0'.
+
+2001-03-28  Richard Henderson  <rth@redhat.com>
+
+       IA-64 ABI Exception Handling:
+       * Make-lang.in (except.o): Don't depend on eh-common.h.
+       * check-init.c (check_init): Handle EXC_PTR_EXPR.
+       * decl.c (init_decl_processing) [throw_node]: No _Jv_Sjlj_Throw.
+       [soft_exceptioninfo_call_node]: Remove.
+       [eh_personality_libfunc, lang_eh_runtime_type]: New.
+       (end_java_method): No emit_handlers.
+       * except.c (java_set_exception_lang_code): Remove.
+       (method_init_exceptions): Don't call it.
+       (prepare_eh_table_type): No CATCH_ALL_TYPE.
+       (build_exception_object_ref): New.
+       (expand_end_java_handler): Update for except.h name changes.
+       (emit_handlers, expand_resume_after_catch): Remove.
+       * expr.c (java_lang_expand_expr): Update for except.h name changes.
+       (process_jvm_instruction): Use build_exception_object_ref.
+       * java-tree.h (JTI_SOFT_EXCEPTIONINFO_CALL_NODE): Remove.
+       (soft_exceptioninfo_call_node): Remove.
+       (build_exception_object_ref): Declare.
+       * jcf-write.c (generate_bytecode_insns) [CALL_EXPR]: No
+       soft_exceptioninfo_call_node.  Move processing ...
+       [EXC_PTR_EXPR]: ... here.
+       * parse.h (BUILD_ASSIGN_EXCEPTION_INFO): Remove dead code.
+       * parse.y (catch_clause_parameter): Use build_exception_object_ref.
+       (source_end_java_method): No java_set_exception_lang_code or
+       emit_handlers.
+       (build_dot_class_method): Use build_exception_object_ref.
+       (try_reference_assignconv): Check EXC_PTR_EXPR not
+       soft_exceptioninfo_call_node.
+
+2001-03-28  Richard Henderson  <rth@redhat.com>
+
+       * java-tree.h (throw_node): Define as a single member of
+       java_global_trees instead of a separate array.
+       (JTI_THROW_NODE): New.
+       * decl.c (throw_node): Don't declare.
+       (init_decl_processing): Init a scalar throw_node.
+       Don't register it for gc.
+       * check-init.c (check_init): Reference scalar throw_node.
+       * expr.c (build_java_athrow): Likewise.
+       * jcf-write.c (generate_bytecode_insns): Likewise.
+       * parse.h (BUILD_THROW): Likewise.
+
+2001-03-28  Richard Henderson  <rth@redhat.com>
+
+       * decl.c (end_java_method): Do not save and restore
+       flag_non_call_exceptions.
+       * parse.y (source_end_java_method): Likewise.
+       * lang.c (flag_exceptions): Don't declare.
+       (java_init_options): Set flag_non_call_exceptions.  Set
+       flag_exceptions here ...
+       (java_init): ... not here.
+
+2001-03-27  Richard Henderson  <rth@redhat.com>
+
+       * expr.c, parse.h: Use USING_SJLJ_EXCEPTIONS instead of
+       exceptions_via_longjmp.
+
+       * lang.c (flag_new_exceptions): Don't declare it.
+       (java_init_options): Or set it.
+
+2001-03-27  Richard Henderson  <rth@redhat.com>
+
+       * decl.c (end_java_method): Rename asynchronous_exceptions to
+       flag_non_call_exceptions.
+       * parse.y (source_end_java_method): Likewise.
+
+2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Make-lang.in: Depend on $(SYSTEM_H), not system.h.
+
+2001-03-26  Mark Mitchell  <mark@codesourcery.com>
+
+       * parse.h (DECL_END_SOURCE_LINE): Don't rely on DECL_FRAME_SIZE.
+
+2001-03-26  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * parse.y (find_as_inner_class): Follow current package
+       indications not to mistakingly load an unrelated class.
+
+2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * constants.c (PUTN): Use memcpy, not bcopy.
+
+       * lex.c (java_read_char): Use memmove, not bcopy.
+
+       * parse.y (java_parser_context_resume): Use memcpy, not bcopy.
+
+2001-03-23  Per Bothner  <per@bothner.com>
+
+       * verify.c (verify_jvm_instructions):  Replace 3 pop_type by POP_TYPE
+       macro for better error pin-pointing.
+       * java-tree.h:  Fix typo in comment.
+
+       * jcf-write.c (generate_bytecode_insns):  Changes to TRY_FINALLY_EXPR.
+       Don't include jsr/goto in exception range.
+       Check if start and end of exception range are the same (also TRY_EXPR).
+       Don't emit jsr after try_block if CAN_COMPLETE_NORMALLY is false.
+       However, do emit the following goto even if try_block is empty.
+       Defer freeing exception_decl until after the finalizer, to make
+       sure the local isn't reused in the finalizer.  Fixes PR java/1208.
+
+       * parse.y (java_complete_lhs):  If the try-clause is empty, just
+       return the finally-clause and vice versa.
+
+2001-03-23  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * gcj.texi (Input Options): documented the check for attribute
+       `gnu.gcc.gccj-compiled' and the `-fforce-classes-archive-check' flag.
+       * java-tree.h (flag_force_classes_archive_check): Declared extern.
+       * jcf-parse.c (HANDLE_GCJCOMPILED_ATTRIBUTE): New macro.
+       (jcf_parse): Check for the right classes archive if necessary.
+       * jcf-reader.c (get_attribute): Define `MATCH_ATTRIBUTE' and use it.
+       (jcf_parse_fields): Fixed indentation.
+       * jcf-write.c (append_gcj_attribute): New function.
+       (generate_classfile): Compute the attribute count, invoke
+       `append_gcj_attribute'.
+       * jcf.h (typedef struct JCF): `seen_in_zip' and `java_source'
+       turned into bit fields. New bit field `right_zip.'
+       (JCF_ZERO): Set `right_zip' to zero.
+       * lang-options.h (-fforce-classes-archive-check): Added flag.
+       * lang.c (flag_force_classes_archive_check): New flag.
+       (lang_f_options): New entry `force-classes-archive-check.'
+       Fixes PR java/1213.
+
+2001-02-07  Andrew Haley  <aph@redhat.com>
+
+       * gcj.texi (Configure-time Options): Add -fcheck-references.
+       * expr.c (build_java_indirect_ref): New function.
+       (java_check_reference): New function.
+       (build_java_array_length_access): Use build_java_indirect_ref to
+       check for null references.
+       (build_java_arrayaccess): Likewise.
+       (build_get_class): Likewise.
+       (build_field_ref): Likewise.
+       (invoke_build_dtable): Likewise.
+       (build_invokeinterface): Likewise.
+       * lang.c (lang_f_options): Add flag_check_references.
+       * jvspec.c (jvgenmain_spec): Add flag_check_references.
+       * java-tree.h (flag_check_references): New variable.
+       * lang.c (flag_check_references): Likewise.
+       * parse.y (patch_invoke): Use java_check_reference.     
+       (patch_assignment): Allow for extra nesting in
+       _Jv_CheckArrayStore.
+
+2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * gjavah.c (cxx_keywords): Update from the definitive list in cp/lex.c.
+       * lex.c (cxx_keywords): Likewise.
+
+2001-03-21  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * parse.y (qualify_ambiguous_name): Broaden `length'
+       recognition. Help MODIFY_EXPR be resolved as expression names.
+       Fixes PR java/2066. Fixes PR java/2400.
+
+2001-03-21  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * gjavah.c (process_file): Mark interface definitions with 
+       "__attribute__ ((java_interface))".
+
+2001-03-21  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * class.c (layout_class): Fixed push_super_field's second
+       argument. Fixes PR java/2333.
+       (jdep_resolve_class): Reset TYPE_SIZE if `error_mark_node', it's
+       too early to lay innerclasses out.
+
+2001-03-20  Tom Tromey  <tromey@redhat.com>
+
+       * lex.c (java_read_unicode): Only accept leading `u's.
+
+2001-03-20  Tom Tromey  <tromey@redhat.com>
+
+       * jcf-parse.c (read_class): Initialize `class'.
+
 2001-03-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
 
        * jcf_parse.c (jcf_parse): Eliminate unused variable.