| 12000-03-08 Nathan Sidwell <nathan@codesourcery.com> 2 3 * exception.cc (__cp_pop_exception): Cleanup the original object. 4 51999-11-13 Jason Merrill <jason@yorick.cygnus.com> 6 7 * rtti.c (get_tinfo_fn_unused): Split out from get_tinfo_fn. 8 * class.c (set_rtti_entry): Use it. 9 10Wed Apr 12 00:45:49 2000 Jeffrey A Law (law@cygnus.com) 11 12 2000-02-03 <loewis@informatik.hu-berlin.de> 13 * call.c (add_function_candidate): Do not add vlist ctor into 14 candidates in compatibility mode. 15 (build_user_type_conversion_1): Add LOOKUP_HAS_VLIST when adding 16 vlist. 17 (convert_like): Likewise. 18 (build_over_call): Skip vlist only if it is mentioned in flags. 19 (build_new_method_call): Do not add vlist in compatibility mode, 20 except for dtors. 21 * cp-tree.h (flag_vtable_thunks): Has now four possible values. 22 (DECL_VLIST_CTOR_WRAPPER_P, DECL_VLIST_CTOR_WRAPPED): New macros. 23 (in_charge_identifier): Declare external. 24 * decl.c (xref_basetypes): Check for vtable_thunks >=2. 25 (finish_dtor): Use bit 2 of in_chrg. 26 (finish_function): Do not finish vlist ctor wrappers. 27 * decl2.c (flag_vtable_thunks_compat): New variable. 28 (lang_decode_option): Set it accordingly. 29 (maybe_retrofit_in_chrg): Call make_vlist_ctor_wrapper. 30 * init.c (build_base_dtor_call): Pass 4 in in_chrg. 31 (no_vlist_base_init): New function. 32 (expand_default_init): Do not pass vlist in compatibility mode. 33 Try to call old base ctor if new one was not generated. 34 (build_new_1): Do not pass vlist in compatibility mode. 35 * method.c (get_id_2): Do not put _Vlist into dtor name in 36 compatibility mode. 37 (make_vlist_ctor_wrapper, emit_vlist_ctor_wrapper): New functions. 38 (synthesize_method): Call emit_vlist_ctor_wrapper. 39 * pt.c (instantiate_class_template): Check for vtable_thunks >=2. 40 41 Sat Nov 13 15:48:59 1999 H.J. Lu <hjl@gnu.org> 42 * init.c (finish_dtor): Call mark_all_temps_used () before 43 declaring vlist. 44 45 Tue Nov 9 15:01:57 1999 H.J. Lu <hjl@gnu.org> 46 * init.c (construct_virtual_bases): Update. 47 (expand_cleanup_for_base): Update. 48 49 Tue Nov 9 08:25:04 1999 H.J. Lu <hjl@gnu.org> 50 * init.c (construct_virtual_bases): Update. 51 (expand_cleanup_for_base): Take vlist parameter. 52 (emit_base_init): Pass vlist to expand_cleanup_for_base. 53 (construct_virtual_bases): Likewise. 54 55 1999-05-02 Martin von L�wis <loewis@informatik.hu-berlin.de> 56 * class.c (prepare_ctor_vtable, finish_one_ctor_vtable, 57 prepend_ctor_vfields_for_vbase, finish_ctor_vtables_for_vbases, 58 finish_ctor_vtables_1, prepend_vbase_vfields, 59 finish_ctor_vtables): New functions. 60 (finish_struct_1): Call finish_ctor_vtables. 61 * cp-tree.h (TYPE_USES_PVBASES): New macro. 62 (constructor_for_vbase_attr): Widen to two bits. 63 (CONSTRUCTOR_FOR_VBASE, CONSTRUCTOR_FOR_PVBASE, 64 DESTRUCTOR_FOR_PVBASE): New macros. 65 (DECL_CONSTRUCTOR_FOR_VBASE_P): Adopt to new enumeration. 66 (DECL_CONSTRUCTOR_FOR_VBASE): New macro. 67 (DECL_CONSTRUCTOR_FOR_PVBASE_P, DECL_DESTRUCTOR_FOR_PVBASE_P): New 68 macros. 69 (vlist_identifier, vlist_type_node, vlist_zero_node): Declare. 70 (VCTABLE_NAME, VLIST_NAME_FORMAT, VLIST_NAME, VLIST1_NAME, 71 VLIST_TYPE_NAME): New macros. 72 (LOOKUP_HAS_VLIST): New macro. 73 (build_base_dtor_call, init_vlist): Declare. 74 (build_destructor_name): Add int argument. 75 * decl.c (vlist_identifier, vlist_type_node, vlist_zero_node): 76 Define. 77 (init_decl_processing): Initialize them. 78 (grokdeclarator): Handle vlist argument. 79 (copy_args_p): Likewise. 80 (grok_ctor_properties): Don't try to skip initial int for 81 templates. Skip vlist if available. 82 (xref_basetypes): Set TYPE_USES_PVBASES. 83 (finish_dtor, finish_ctor): New functions, moved out of ... 84 (finish_function): ... here. 85 * decl2.c (lang_decode_option): Set flag_vtable_thunks explicitly. 86 (maybe_retrofit_in_chrg): Retrofit __vlist parameter. 87 (grokclassfn): Pass pvbase flag into mangled name. 88 * init.c (build_base_dtor_call): New function. 89 (build_partial_cleanup_for): Call it. 90 (pvbasecount, init_vlist, ): New functions. 91 (emit_base_init): Process vlist argument. 92 (expand_aggr_vbase_init_1): Likewise. 93 (expand_aggr_vbase_init): Likewise. 94 (expand_default_init): Likewise. 95 (build_new_1): Pass null vlist argument. 96 (build_delete): Likewise. Call build_base_dtor_call. 97 * method.c (process_overload_item): Mangle _Vlist specially. 98 (build_base_path, get_vlist_vtable_id): New functions. 99 (build_destructor_name): Potentially mangle _Vlist into it. 100 (do_build_copy_constructor): Skip vlist argument. 101 (synthesize_method): Likewise. 102 * pt.c (has_pvbases_p): New function. 103 (instantiate_class_template): Call it. 104 (tsubst_decl): Retrofit before mangling. Pass pvbase_p to 105 destructor mangling. 106 * search.c (expand_direct_vtbls_init_thunks): New function. 107 (expand_indirect_vtbls_init_thunks): New function. 108 (expand_indirect_vtbls_init): Call it. 109 * call.c (add_function_candidate): Process vlist argument. 110 (build_user_type_conversion_1): Add vlist argument. 111 (convert_like): Likewise. 112 (build_over_call): Likewise. 113 (build_new_method_call): Likewise. 114
|
12000-02-18 Martin von Loewis <loewis@informatik.hu-berlin.de> 2 3 * typeck2.c (my_friendly_abort): Use GCCBUGURL. 4 51999-11-01 Jason Merrill <jason@yorick.cygnus.com> 6 7 * decl2.c (maybe_make_one_only): Always make things comdat on 8 ELF targets, too.
--- 16085 unchanged lines hidden --- | 1152000-02-18 Martin von Loewis <loewis@informatik.hu-berlin.de> 116 117 * typeck2.c (my_friendly_abort): Use GCCBUGURL. 118 1191999-11-01 Jason Merrill <jason@yorick.cygnus.com> 120 121 * decl2.c (maybe_make_one_only): Always make things comdat on 122 ELF targets, too.
--- 16085 unchanged lines hidden --- |