changelog
来自「GCC编译器源代码」· 代码 · 共 1,838 行 · 第 1/5 页
TXT
1,838 行
* method.c (build_overload_name): Add handling of the different COMPLEX_TYPEs, prefixing them with `J'. * pt.c (process_template_parm): Don't let them use a COMPLEX_TYPE as a template parm. (uses_template_parms, tsubst, unify): Add COMPLEX_TYPE case. * tree.c (lvalue_p): Add REALPART_EXPR and IMAGPART_EXPR cases. (mapcar): Handle COMPLEX_CST. * typeck.c (build_binary_op_nodefault): Handle COMPLEX_TYPE. (common_type): Add code for complex types. (build_unary_op): Add REALPART_EXPR and IMAGPART_EXPR cases. (convert_for_assignment): Likewise. (mark_addressable): Add REALPART_EXPR and IMAGPART_EXPR cases.Mon May 19 12:26:27 1997 Jason Merrill <jason@yorick.cygnus.com> * pt.c (tsubst): Don't pass the MINUS_EXPR for an array domain to tsubst_expr, as it might try to do overload resolution.Sat May 17 10:48:31 1997 Jason Merrill <jason@yorick.cygnus.com> * pt.c (instantiate_class_template): Oops.Fri May 16 14:23:57 1997 Jason Merrill <jason@yorick.cygnus.com> * cp-tree.def: Add TAG_DEFN. * pt.c (tsubst_enum): New fn. (instantiate_class_template): Use it. (tsubst_expr): Support TAG_DEFN. (tsubst): Support local enums. (tsubst_copy): Likewise. * decl.c (finish_enum): Likewise. (start_enum): If this is a local enum, switch to permanent_obstack.Wed May 14 19:08:28 1997 Mike Stump <mrs@cygnus.com> * decl.c (store_parm_decls): Set last_parm_cleanup_insn here. (finish_function): Put the base init code for constructors just after the parm cleanup insns. (struct cp_function): Add last_parm_cleanup_insn. (push_cp_function_context): Likewise. (pop_cp_function_context): Likewise. Tue May 13 15:51:20 1997 Jason Merrill <jason@yorick.cygnus.com> * pt.c (tsubst_copy): Handle BIT_NOT_EXPR.Wed May 7 11:17:59 1997 Brendan Kehoe <brendan@lisa.cygnus.com> * method.c (emit_thunk) [ASM_OUTPUT_MI_THUNK]: Build up the RTL for THUNK_FNDECL before we switch to temporary allocation.Mon May 5 14:46:53 1997 Jason Merrill <jason@yorick.cygnus.com> * call.c (build_new_op): Handle null arg2 for ?:.Thu May 1 18:26:37 1997 Mike Stump <mrs@cygnus.com> * except.c (expand_exception_blocks): Ensure that we flow through the end of the exception region for the exception specification. Move exception region for the exception specification in, so that it doesn't protect the parm cleanup. Remove some obsolete code. * decl.c (store_parm_decls): Likewise. (finish_function): Likewise.Tue Apr 29 15:38:54 1997 Jason Merrill <jason@yorick.cygnus.com> * init.c (build_new): Fix nothrow handling.Tue Apr 29 14:29:50 1997 Brendan Kehoe <brendan@lisa.cygnus.com> * init.c (emit_base_init): Don't warn about the initialization list for an artificial member.Fri Apr 25 17:47:59 1997 Brendan Kehoe <brendan@lisa.cygnus.com> * expr.c (do_case): Handle !START case for the error msg.Fri Apr 25 11:55:23 1997 Jason Merrill <jason@yorick.cygnus.com> * decl2.c, lang-options.h: New option -Weffc++. * class.c, decl.c, init.c, typeck.c: Move Effective C++ warnings to -Weffc++. * decl2.c (finish_prevtable_vardecl): Change NO_LINKAGE_HEURISTICS to MULTIPLE_SYMBOL_SPACES.Wed Apr 23 18:06:50 1997 Jason Merrill <jason@yorick.cygnus.com> * method.c (emit_thunk, generic case): Set current_function_is_thunk. * method.c (emit_thunk, macro case): Set up DECL_RESULT. * typeck.c (c_expand_return): Don't complain about returning void to void in an artificial function. * method.c (make_thunk): Change settings of READONLY/VOLATILE, don't set DECL_RESULT, set DECL_ARTIFICIAL. (emit_thunk, generic code): Also set up DECL_LANG_SPECIFIC. Wed Apr 23 14:43:06 1997 Mike Stump <mrs@cygnus.com> * init.c (init_decl_processing): Add supoprt for setjmp/longjmp based exception handling. * except.c (init_exception_processing): Likewise. (expand_end_catch_block): Likewise. (expand_exception_blocks): Likewise. (expand_throw): Likewise. * exception.cc (__default_terminate): Likewise. * init.c (perform_member_init): Use new method of expr level cleanups, instead of cleanups_this_call and friends. (emit_base_init): Likewise. (expand_aggr_vbase_init_1): Likewise. (expand_vec_init): Likewise. * decl.c (cp_finish_decl): Likewise. (expand_static_init): Likewise. (store_parm_decls): Likewise. (cplus_expand_expr_stmt): Likewise. * decl2.c (finish_file): Likewise. * Make-lang.in (exception.o): Ok to compile with -O now. * decl.c (maybe_build_cleanup_1): We no longer have to unsave, as we know it will be done later by the backend. * decl2.c (lang_f_options): Remove support for short temps. * lang-options.h: Likewise. Wed Apr 23 04:12:06 1997 Jason Merrill <jason@yorick.cygnus.com> * tree.c (varargs_function_p): New fn. * method.c (emit_thunk): Replace broken generic code with code to generate a heavyweight thunk function.Tue Apr 22 02:45:18 1997 Jason Merrill <jason@yorick.cygnus.com> * pt.c (process_template_parm): pedwarn about floating-point parms. * decl.c (grokdeclarator): inline no longer implies static. * spew.c (yylex): Always return the TYPE_DECL if we got a scope.Mon Apr 21 15:42:27 1997 Jason Merrill <jason@yorick.cygnus.com> * class.c (check_for_override): The signature of an overriding function is not changed. * call.c (build_over_call): Move setting of conv into the loop. Note: this change, along with the related changes of the 18th thru the 20th of April, fix an infinite loop problem in conversions.Sun Apr 20 16:24:29 1997 Jason Merrill <jason@yorick.cygnus.com> * call.c (build_user_type_conversion_1): Really ignore rvalue conversions when looking for a REFERENCE_TYPE. * cvt.c (build_up_reference): Eviscerate, use build_unary_op. * cp-tree.h (TREE_REFERENCE_EXPR): #if 0. * typeck.c (decay_conversion): Don't set TREE_REFERENCE_EXPR. (build_unary_op): Likewise. * call.c (build_over_call): See through a CONVERT_EXPR around the ADDR_EXPR for on a temporary. * typeck.c (c_expand_return): See through a CONVERT_EXPR around the ADDR_EXPR for a local variable.Fri Apr 18 12:11:33 1997 Jason Merrill <jason@yorick.cygnus.com> * call.c (build_user_type_conversion_1): If we're trying to convert to a REFERENCE_TYPE, only consider lvalue conversions. (build_new_function_call): Print candidates. (implicit_conversion): Try a temp binding if the lvalue conv is BAD. (reference_binding): Binding a temporary of a reference-related type is BAD.Thu Apr 17 14:37:22 1997 Brendan Kehoe <brendan@lisa.cygnus.com> * inc/typeinfo (type_info::before): Add cv-qualifier-seq. * tinfo2.cc (type_info::before): Likewise.Mon Apr 14 12:38:17 1997 Jason Merrill <jason@yorick.cygnus.com> * call.c (implicit_conversion): Oops.Fri Apr 11 02:18:30 1997 Jason Merrill <jason@yorick.cygnus.com> * call.c (implicit_conversion): Try to find a reference conversion before binding a const reference to a temporary.Wed Apr 2 12:51:36 1997 Mike Stump <mrs@cygnus.com> * exception.cc (__default_unexpected): Call terminate by default, so that if the user overrides terminate, the correct function will be called. Wed Mar 19 14:14:45 1997 Mike Stump <mrs@cygnus.com> * parse.y (left_curly): Avoid trying to use any fields of error_mark_node, as there aren't any.Thu Mar 13 16:33:22 1997 Jason Merrill <jason@yorick.cygnus.com> * lex.c (do_identifier): Avoid breaking on overloaded methods as default arguments.Wed Mar 12 13:55:10 1997 Hans-Peter Nilsson <Hans-Peter.Nilsson@axis.se> * call.c (add_template_candidate): Initialize the variable "dummy".Mon Mar 10 15:13:14 1997 Brendan Kehoe <brendan@canuck.cygnus.com> * decl.c (start_decl): Make sure TYPE isn't an error_mark_node before we try to use TYPE_SIZE and TREE_CONSTANT on it.Fri Mar 7 13:19:36 1997 Brendan Kehoe <brendan@lisa.cygnus.com> * cp-tree.h (comp_ptr_ttypes, more_specialized): Add decl. (debug_binfo): Delete decl, not needed. * tree.c (fnaddr_from_vtable_entry, function_arg_chain, promotes_to_aggr_type): Delete fns. * cp-tree.h (FNADDR_FROM_VTABLE_ENTRY, SET_FNADDR_FROM_VTABLE_ENTRY, FUNCTION_ARG_CHAIN, PROMOTES_TO_AGGR_TYPE): Delete alternates to #if 1. * decl.c (pending_invalid_xref{,_file,_line}): Delete unused vars. * friend.c (is_friend_type): Delete fn. * cp-tree.h (is_friend_type): Delete decl. * decl.c (original_result_rtx, double_ftype_double, double_ftype_double_double, int_ftype_int, long_ftype_long, float_ftype_float, ldouble_ftype_ldouble, last_dtor_insn): Make static. * typeck.c (original_result_rtx, warn_synth): Delete extern decls. * decl.c (push_overloaded_decl{,_top_level}): Make static, adding fwd decls. * cp-tree.h (push_overloaded_decl{,_top_level}): Delete decls. * decl.c (pushdecl_nonclass_level): #if 0, unused. * cp-tree.h (pushdecl_nonclass_level): #if 0 decl. * lex.c (reinit_lang_specific): #if 0, unused. * cp-tree.h (reinit_lang_specific): #if 0 decl. * decl.c (revert_static_member_fn): Make static, adding fwd decl. * cp-tree.h (revert_static_member_fn): Delete decl. * class.c (root_lang_context_p): Delete fn. * cp-tree.h (root_lang_context_p): Delete decl. * decl.c (set_current_level_tags_transparency): #if 0, unused. * cp-tree.h (set_current_level_tags_transparency): #if 0 decl. * lex.c (set_vardecl_interface_info): Make static. * cp-tree.h (set_vardecl_interface_info): Delete decl. * call.c (find_scoped_type): Make static. * cp-tree.h (find_scoped_type): Delete decl. * search.c (convert_pointer_to_vbase): Make static. * cp-tree.h (convert_pointer_to_vbase): Delete decl. * decl.c (const_ptr_type_node): Likewise. * cp-tree.h (const_ptr_type_node): Delete decl. * typeck.c (common_base_type): Make static. * cp-tree.h (common_base_types): Delete erroneous decl. * pt.c (classtype_mangled_name): Make static. * cp-tree.h (classtype_mangled_name): Delete decl. * lex.c (check_newline): Make static. * cp-tree.h (check_newline): Delete decl. * typeck.c (build_x_array_ref): Delete fn, same idea as grok_array_decl. * cp-tree.h (build_x_array_ref): Delete decl. * lex.c (copy_decl_lang_specific): Delete fn, same idea as copy_lang_decl. * cp-tree.h (copy_decl_lang_specific): #if 0 decl. * class.c (build_vtable_entry): Make static. * cp-tree.h (build_vtable_entry): Delete decl. * class.c (build_vbase_pointer): Make static. * cp-tree.h (build_vbase_pointer): Delete decl. * sig.c (build_sptr_ref): Add forward decl and make static. * cp-tree.h (build_sptr_ref): Delete decl. * call.c (build_new_method_call): Add forward decl and make static. * cp-tree.h (build_new_method_call): Delete decl. * call.c (build_object_call): Make static. * class.c (check_for_override, complete_type_p, mark_overriders): Likewise. * decl.c (cp_function_chain): Likewise. * lex.c (set_typedecl_interface_info, reinit_parse_for_block): Likewise. * pt.c (comp_template_args, get_class_bindings, push_tinst_level): Likewise. * tree.c (build_cplus_array_type_1): Likewise. * typeck.c (comp_ptr_ttypes_{const,real,reinterpret}): Likewise. (comp_target_parms): Likewise. * init.c (build_builtin_call): Make static. * cp-tree.h (build_builtin_call): Delete decl. * typeck.c (binary_op_error): Delete decl. * cp-tree.h (binary_op_error): Likewise.Thu Mar 6 16:13:52 1997 Brendan Kehoe <brendan@lisa.cygnus.com> * call.c (build_method_call): Compare against error_mark_node directly, rather than the ERROR_MARK tree code. * cvt.c (cp_convert): Likewise. * decl.c (print_binding_level): Likewise. (duplicate_decls): Likewise. (grokdeclarator): Likewise. (grokdeclarator): Likewise. * init.c (expand_aggr_init_1): Likewise. (decl_constant_value): Likewise. * method.c (build_opfncall): Likewise. (hack_identifier): Likewise. * typeck.c (build_modify_expr): Likewise. * typeck.c (build_c_cast): Don't decl TYPE as register tree.Sun Mar 2 02:54:36 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> * pt.c (unify): Strip NOP_EXPR wrappers before unifying integer values. * pt.c (coerce_template_parms): Add new error message. * method.c (build_overload_value): Implement name mangling for floating-point template arguments. * method.c (build_overload_int, icat, dicat): Fix mangling of template arguments whose absolute value doesn't fit in a signed word.Mon Mar 3 12:14:54 1997 Brendan Kehoe <brendan@lisa.cygnus.com> * friend.c: New file; put all of the friend stuff in here. * init.c: Instead of here. * Makefile.in (CXX_OBJS): Add friend.o. (friend.o): Add dependencies. * Make-lang.in (CXX_SRCS): Add $(srcdir)/cp/friend.c.Sun Mar 2 11:04:43 1997 Jason Merrill <jason@yorick.cygnus.com> * call.c (build_scoped_method_call): Complain if the scope isn't a base.Wed Feb 26 11:31:06 1997 Jason Merrill <jason@yorick.cygnus.com> * parse.y (left_curly): Don't crash on erroneous type. * init.c (build_delete): Fix type of ref.Tue Feb 25 12:41:48 1997 Jason Merrill <jason@yorick.cygnus.com> * search.c (get_vbase_1): Renamed from get_vbase. (get_vbase): Wrapper, now non-static. (convert_pointer_to_vbase): Now static. * call.c (build_scoped_method_call): Accept a binfo f
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?