📄 changelog
字号:
explicit build_decl. (Avoids crash in reload when optimizing.)Thu Feb 25 21:05:04 1999 Per Bothner <bothner@cygnus.com> * decl.c (complete_start_java_method): Handle synchronized method even when compiling from bytecode.1999-02-26 Tom Tromey <tromey@cygnus.com> * gjavah.c (add_class_decl): Only generate `#include' if outer class is not the name of the class we are processing. Correctly append `.h' in #include. (process_file): Clean up newlines around generated `#include's. (decode_signature_piece): Correctly handle inner classes. (struct include): New structure. (all_includes): New global. (print_include): New function. (add_class_decl): Use it. (process_file): Likewise. (add_class_decl): Generate include for java-array.h if array seen. (process_file): Don't generate java-array.h include. * gjavah.c (add_namelet): Check for standard package names here. (add_class_decl): Don't check for standard package names here.1999-02-25 Tom Tromey <tromey@cygnus.com> * parse.y (read_import_dir): Use `|=', not `+=', to set `found'. When reading a zip file, only use strncmp if both strings are bigger than the buffer length. Initialize `k' when looping through zip file.1999-02-24 Tom Tromey <tromey@cygnus.com> * gjavah.c (struct namelet): New structure. (add_namelet): New function. (print_namelet): New function. (print_class_decls): Use add_namelet and print_namelet to generate namespaces and not classes. (method_printed): New global. (HANDLE_END_METHOD): Examine method_printed. (print_method_info): Set method_printed when required. Print error if function to be ignored is marked virtual. Handle $finit$ method. (METHOD_IS_FINAL): New macro. (print_field_info): Use it. (HANDLE_METHOD): Clear method_printed. (method_pass): New global. (HANDLE_END_FIELD): Call add_class_decl on the first pass. (process_file): Do two passes over both fields and methods. (HANDLE_METHOD): Examine method_pass. (root): New global. (add_class_decl): New function. (print_class_decls): Don't scan over entire constant pool.1999-02-23 Tom Tromey <tromey@cygnus.com> * jvspec.c (lang_specific_driver): Recognize -fsyntax-only and disable linking in that case.1999-02-20 Tom Tromey <tromey@cygnus.com> * jcf.h (UTF8_GET): Mask first byte of 3-byte encoding with 0x0f, not 0x1f.Sun Feb 21 14:56:11 1999 Per Bothner <bothner@cygnus.com> * decl.c (build_result_decl), java-tree.h: New method. (complete_start_java_method): Handle synchronized methods. Don't build DECL_RESULT here. (Ordering dependency problem.) (start_java_method): Call build_result_decl here instead ... * parse.y (java_complete_expand_method): ... and here. (expand_start_java_method): Don't call complete_start_java_method here. (java_complete_expand_method): Call it here instead. * parse.h (BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT): Moved to .. * java-tree.h: ... here. * expr.c (force_evaluation_order): Fix typo, don't handle ARRAY_REF. * parse.y (java_complete_lhs): Don't call force_evaluation_order for ARRAY_REF - it doesn't work when array bounds are checked. (patch_array_ref): Handle it here instead. * jcf-write.c (generate_classfile): Emit "Exceptions" attribute.Fri Feb 19 15:35:01 1999 Per Bothner <bothner@cygnus.com> Force left-to-right evaluation of binary operations etc. * expr.c (force_evaluation_order), java-tree.h: New function. * parse.y (java_complete_lhs): Pass binary operations, procedure calls, and ARRAY_REFs to force_evaluation_order. (various): Set TREE_SIDE_EFFECTS more carefully. Tolerate random (non-UTF8) encoding in comments without complaining. * lex.c (java_read_char): Return 0xFFFE if bad UTF8 encoding. (java_is_eol): Handle '\r' followed by '\n' instead of vice versa. * parse.y (resolve_qualified_expression_name): Handle error_mark. (java_complete_node case EXPR_WITH_FILE_LOCATION): Likewise. * parse.y (java_complete_lhs): Ignore an empty statement in a COMPOUND_EXPR. Don't complain about empty statement after return. Fri Feb 19 13:00:56 1999 Per Bothner <bothner@cygnus.com> * parse.y (obtain_incomplete_type): Don't wrap unknown types in TREE_LIST - just chain the POINTER_TYPEs together. (resolve_class): If type already resolved, return decl. After resolving, update TREE_TYPE(class_type), and name (if array). * parse.h (do_resolve_class), parse.y: Make non-static. * class.c (maybe_layout_super_class): Take this_class argument. Do do_resolve_class if necessary. (layout_class, layout_class_methods): Adjust calls appropriately. * parse.h (JDEP_TO_RESOLVE, JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P): Redefined for new TREE_LIST-less convention. * typeck.c (build_java_array_type): Don't call layout_class.Wed Feb 17 15:47:20 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (check_pkg_class_access): Allow private class access within the same package. (strip_out_static_field_access_decl): New function. (patch_unaryop): Call strip_out_static_field_access_decl on ++/-- operator argument before testing its nature.Wed Feb 3 12:38:43 1999 Per Bothner <bothner@cygnus.com> * java-tree.def (FINALLY_EXPR): Removed. (Now uses TRY_FINALLY_EXPR.) (TRY_EXPR): Simplify - it no longer has a finally clause. * check-init.c (check_init): Handle TRY_FINALLY_EXPR. Simpler handling of TRY_EXPR, which no longer has a finally clause. * expr.c (java_lang_expand_expr): Likewise. * java-tree.h (CATCH_EXPR_GET_EXPR): Removed - no longer needed. * parse.h (java_get_catch_block), parse.y: Removed - no longer needed. * parse.y (java_complete_lhs): Add support for TRY_FIANLLY_EXPR. (build_try_statement): Remove finally parameter and handling. (build_try_finally_statement): New function. (patch_try_statement): No longer need to support finally clause. (try_statement): Update grammar action rules. * jcf-write.c (generate_bytecode_insns): Handle TRY_FINALLY_EXPR. Simpler handling of TRY_EXPR, which no longer has a finally clause.1998-11-26 Andrew Haley <aph@viagra.cygnus.co.uk> * jcf-parse.c (get_constant): Add braces around computation of 'd' when REAL_ARITHMETIC is not defined. [Oct 26 fix got overwritten -PB]1999-02-17 Andrew Haley <aph@cygnus.com> * class.c (build_utf8_ref): Back out broken patch which was intended to to output signatures using '.' as a separator. * class.c (make_class_data): Output signatures using '.' as a separator, rather than '/'. (mangled_classname): Likewise. (make_field_value): Likewise. (make_method_value): Likewise. * constants.c (alloc_class_constant): Likewise. * expr.c (build_invokeinterface): Likewise.Thu Feb 11 21:25:51 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (valid_builtin_assignconv_identity_widening_p): Got rid of an ancient workaround.Wed Feb 10 23:27:33 1999 Jeffrey A Law (law@cygnus.com) * jvspec.c (xmalloc): Kill the prototype. It does not belong here anymore.1999-02-10 Alexandre Petit-Bianco <apbianco@cygnus.com> * lex.c (yylex): Encode \0 as UTF8.1999-02-10 Tom Tromey <tromey@cygnus.com> * jvspec.c (lang_specific_driver): Use libgcj, not libjava. * Makefile.in (jcf-path.o): Define LIBGCJ_ZIP_FILE. (libgcj_zip): Renamed. * jcf-path.c (add_entry): Use LIBGCJ_ZIP_FILE, not LIBJAVA_ZIP_FILE. (jcf_path_init): Use LIBGCJ_ZIP_FILE. * jvspec.c (THREAD_NAME): Renamed -lqthreads to -lgcjcoop. (GC_NAME): Renamed -lgc to -lgcjgc.Tue Feb 9 19:31:09 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * lex.c (java_lang_cloneable): Initialize. * parse.y (java_lang_cloneable): New static variable. (qualify_ambiguous_name): Take CONVERT_EXPR into account when doing one more qualification round. (valid_ref_assignconv_cast_p): Reject null source or destination. Allow an array to be cast into java.lang.Cloneable. (patch_cast): Swapped two first arguments to first call to valid_ref_assignconv_cast_p.Mon Feb 8 11:50:50 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.h: DECL_P renamed JDECL_P. * parse.y: DECL_P replaced by JDECL_P. (build_array_from_name): Always use pointer's type. (patch_bc_statement): Extra code to search continue target in a for loop. Fixed comments. Continue target is current loop when unlabeled.1999-02-05 Andrew Haley <aph@cygnus.com> * class.c (make_class_data): The superclass of an interface should be null, not class Object. * lex.c (java_lex): Sign extend hex literals.1999-02-04 Andrew Haley <aph@cygnus.com> * class.c (build_utf8_ref): Output signatures using '.' as a separator, rather than '/'. (make_class_data): Likewise.Wed Feb 3 22:50:17 1999 Marc Espie <Marc.Espie@liafa.jussieu.fr> * Make-lang.in ($(GCJ)(exeext)): Remove choose-temp.o, pexecute.o and mkstemp.o. Get them from libiberty now.Tue Feb 2 19:49:12 1999 Jeffrey A Law (law@cygnus.com) * jcf-io.c: Do not include sys/stat.h or sys/wait.hTue Feb 2 20:04:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * jvspec.c (xmalloc): Fix the prototype to match the one obtained from libiberty.hTue Feb 2 10:39:47 1999 Per Bothner <bothner@cygnus.com> Optimize: `return (a ? b : c)' as: `if (a) return b; else return c;'. * jcf-write.c (generate_bytecode_return): New function. (generate_bytecode_insns): Use it, for RETURN_EXPR. * jcf-write.c (generate_bytecode_insns): For REAL_CST that is 0 or 1, generate special [fd]const_[01] instructions. * jcf-parse.c (yyparse): Don't emit_register_classes if -fsyntax-only. * verify.c (verify_jvm_instructions): Do INVALIDATE_PC after handling OPCODE_lookupswitch or OPCODE_tableswitch.Mon Feb 1 20:44:47 1999 Per Bothner <bothner@cygnus.com> * parse.y (patch_method_invocation): Handle calling static methods, even in the form EXPR.METHOD(ARGS), not just TYPE.METHOD(ARGS). * parse.y (java_complete_lhs): Don't complain about unreachable exit condition in a do-while statement. Fri Jan 29 18:19:02 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * lex.c (java_read_char): Fixed utf8 decoding. (java_unicode_2_utf8): Fixed utf8 encoding in the 0x800-0xffff range. * parse.y (valid_builtin_assignconv_identity_widening_p): Fixed comments. Local variable `all_primitive' is gone. Broadened acceptance of `0' to floating point targets. `long' can now be widened to `double' or `float'. (valid_method_invocation_conversion_p): Added leading comment. Fixed tabulation. (build_string_concatenation): Optimize out left or right empty string constants.Thu Jan 28 18:51:26 1999 Per Bothner <bothner@cygnus.com> * jcf-write.c (localvar_alloc): Only emit entry for LocalVariableTable if debug_info_level > DINFO_LEVEL_TERSE. (generate_bytecode_insns): Only call put_linenumber if debug_info_level > DINFO_LEVEL_NONE. * jvspec.c (lang_specific_driver): If no -O* or -g* option is specified, add -g1 (for compatibility wih javac).Thu Jan 28 09:17:51 1999 Hans-Peter Nilsson <hp@axis.se> * java/Makefile.in: Add missing dependencies for jcf-dump.o, gjavah.o, check-init.o, jv-scan.oMon Feb 1 09:50:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * Makefile.in (gjavah.o): Depend on $(CONFIG_H) and system.h. * gjavah.c: Include config.h and system.h. * javaop.h (inline): Don't define, its handled by system.h. (WORD_TO_FLOAT, WORDS_TO_LONG, WORDS_TO_DOUBLE): Change these from `inline' to `static inline'. * jcf.h (inline): Don't define, its handled by system.h. * lex.c (inline): Likewise.Sun Jan 31 20:34:29 1999 Zack Weinberg <zack@rabi.columbia.edu> * lang-specs.h: Map -Qn to -fno-ident.Fri Jan 29 16:51:56 1999 Richard Henderson <rth@cygnus.com> * check-init.c (check_init): Fix CLEANUP_POINT_EXPR typo.1999-01-29 Tom Tromey <tromey@cygnus.com> * parse.h (BUILD_APPEND): If ARG is a non-String object reference, then cast it to Object before calling `append' method.Thu Jan 28 14:45:39 1999 Per Bothner <bothner@cygnus.com> * check-init.c (check_bool2_init, check_bool_init, check_init): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR. * jcf-write.c (generate_bytecode_insns): Likewise.Thu Jan 28 11:50:11 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-parse.c (jcf_parse): Don't parse the same class file twice. * parse.y (patch_cast): Allow a boolean to be cast into a boolean.Wed Jan 27 10:19:29 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y: (class_declaration:): Fixed indentation. (class_member_declaration:): Extra `;' after field declaration now accepted. (interface_declaration:): Removed debug messages in error reports. (patch_binop): Nodes created and returned inherit the orignal node's COMPOUND_ASSIGN_P flag value. (patch_cast): Fix cast from char to floating point.Mon Jan 25 17:39:19 1999 Andrew Haley <aph@cygnus.com> * except.c, java-except.h (expand_resume_after_catch): new function. * expr.c (java_lang_expand_expr): call expand_resume_after_catch to branch back to main flow of control after a catch block.Sat Jan 23 23:02:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -