📄 changelog.1
字号:
default implementations -1 instead of 2. (build_signature_method_call): Change the generated conditional expression correspondingly. * sig.c (build_signature_pointer_constructor): Deleted the sorry message that said we can't handle multiple inheritance for implementations of signatures (build_signature_method_call): Use the offset from the sigtable entry instead of the vptr field from the signature pointer for building a virtual function call. * class.c (build_vfn_ref): Deleted signature specific code, we don't call this function anymore from build_signature_method_call. * cp-tree.h (SIGNATURE_VPTR_NAME): Deleted. We use the right vptr field in the object now instead of in the signature pointer/ref. (build_vptr_ref): Deleted extern declaration. * sig.c (build_vptr_ref): Deleted. (build_signature_pointer_or_reference_type): Deleted construction of the vptr field. (build_signature_pointer_constructor): Deleted initialization of/ assignment to the vptr field. * sig.c (build_signature_table_constructor): Convert the signature table entry fields to their correct types. * sig.c (build_signature_table_constructor): Don't call digest_init for the fields of a sigtable entry, it's wasted time. * sig.c (build_signature_table_constructor): Correctly set the offset and index fields of a sigtable entry. Build the constructor the way digest_init does, digest_init can't handle initializing an anonymous union inside a struct. (build_signature_method_call): Use the index field instead of the delta field to get the vtable index. * decl.c (init_decl_processing): Fix number of fields for building sigtable_entry_type. * cp-tree.h (tag_identifier, offset_identifier): Added extern decls. (SIGTABLE_CODE_NAME): Renamed to SIGTABLE_TAG_NAME. (SIGTABLE_PFN_NAME): Deleted, we'll use VTABLE_PFN_NAME instead. * decl.c (tag_identifier, offset_identifier): New variables to hold the identifiers for the sigtable fields tag and offset. (init_decl_processing): Initialize these variables. (init_decl_processing): Use these variables to build the sigtable_entry_type structure. Rename the code and offset fields to tag and delta, respectively; add offset and index fields. Changed types of fields from short_integer_type_node to delta_type_node. * sig.c (build_signature_table_constructor): Rename code and offset to tag and delta, respectively. (build_signature_method_call): Likewise. Use above variables.Thu Jun 1 17:03:51 1995 Jason Merrill <jason@phydeaux.cygnus.com> * decl.c (lookup_name_real): Don't try to look anything up in an erroneous object.Fri Jun 2 10:30:14 1995 Mike Stump <mrs@cygnus.com> * method.c (build_overload_int): New routine. Break out functionality from build_overload_value so we can reuse it. (build_overload_value): Handle pointer to member functions as value parameters for templates. (build_overload_identifier): Since template parameters are shared among all instantiations, we have to substitute in the real types in TREE_TYPE (parm). pt.c (coerce_template_parms): Likewise. (push_template_decls): Likewise. (grok_template_type): Deleted as template parameters are shared among all instantiations.Wed May 31 19:10:32 1995 Mike Stump <mrs@cygnus.com> * decl.c (grokdeclarator): Always give errors on constant overflow for array indices.Wed May 31 11:39:43 1995 Jason Merrill <jason@phydeaux.cygnus.com> * typeck.c (commonparms): Don't abort if simple_cst_equal returns < 0. (build_c_cast): Don't tack on a NON_LVALUE_EXPR when casting to reference type. (build_indirect_ref): Fix check for *&.Fri Jun 16 06:54:03 1995 Mike Stump <mrs@cygnus.com> * Version 2.7.0 released.Fri Jun 16 15:07:29 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * Make-lang.in (DEMANGLER_PROG): Add LIBS.Thu Jun 15 15:00:41 1995 Jason Merrill <jason@phydeaux.cygnus.com> * decl.c (define_function): Don't set DECL_INTERFACE_KNOWN.Wed Jun 7 20:00:31 1995 Mike Stump <mrs@cygnus.com> * *.[chy]: Change all callers of finish_decl to cp_finish_decl. * decl.c (finish_decl): New routine to handle call backs from the mid end (declare_hidden_char_array).Wed Jun 7 19:02:50 1995 Jason Merrill <jason@phydeaux.cygnus.com> * decl.c (start_function): Handle setting C_C_D here. (set_C_C_D): Removed. (struct saved_scope): Remove class_decl. (push_to_top_level): Don't save current_class_decl. (pop_from_top_level): Don't restore current_class_decl or C_C_D. (struct cp_function): Add C_C_D. (push_cp_function_context): Save C_C_D. (pop_cp_function_context): Restore C_C_D.Fri Jun 2 11:05:58 1995 Jason Merrill <jason@phydeaux.cygnus.com> * decl.c (set_C_C_D): New function. suspend_momentary before building C_C_D. (pop_from_top_level): Call it. (start_function): Likewise. (pop_cp_function_context): Likewise. * class.c, cp-tree.h, decl.c, decl2.c, parse.y: Lose all references to current_vtable_decl, CLASSTYPE_INST_VAR and CLASSTYPE_VTBL_PTR. * decl.c (push_cp_function_context): Save current_class_decl. (pop_cp_function_context): Restore current_class_decl and set C_C_D. (pop_from_top_level): Don't use CLASSTYPE_INST_VAR to set C_C_D. (start_function): Likewise. * class.c (popclass): Don't mess with current_class_decl, current_vtable_decl, or C_C_D.Mon May 29 12:45:10 1995 Paul Eggert <eggert@twinsun.com> * Make-lang.in (c++.mostlyclean): Remove $(DEMANGLER_PROG).Wed May 24 15:55:18 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * decl.c (duplicate_decls): Check simple_cst_equal result against 0. * decl2.c (finish_anon_union): Likewise. * method.c (largest_union_member): Likewise.Wed May 24 14:41:11 1995 H.J. Lu <hjl@nynexst.com> * Make-lang.in (cxxmain.o): Replace single quotes with backslashes.Mon May 22 17:38:48 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * Make-lang.in (g++, g++-cross, cc1plus, DEMANGLER_PROG): Use $@ instead of output name so works even if have .exe. (cxxmain.o): Use cp if ln -s fails. (c++.install-man): Use $(exeext) in executable names. (c++.mostlyclean, stage[1-4]): Use $(objext) in object file names. * Makefile.in (../cc1plus): Use $(exeext) in name of executable.Wed May 24 01:39:03 1995 Jason Merrill <jason@deneb.cygnus.com> * call.c (build_method_call): Parms can be null, duh.Tue May 23 01:32:09 1995 Jason Merrill <jason@deneb.cygnus.com> * call.c (build_method_call): If convert_arguments failed, just bail.Fri May 19 10:31:11 1995 Jason Merrill <jason@phydeaux.cygnus.com> * cvt.c (convert_force): Pass LOOKUP_NORMAL to cp_convert. * tree.c (copy_to_permanent): Oops.Fri May 19 10:01:07 1995 Brendan Kehoe <brendan@lisa.cygnus.com> * cp-tree.h (break_out_target_exprs): Add decl.Thu May 18 13:02:30 1995 Jason Merrill <jason@phydeaux.cygnus.com> * decl.c (start_function): Move *all* interface handling stuff after the pushdecl. * tree.c (mapcar): Renamed from make_deep_copy and generalized. (perm_manip): Return t if permanent, otherwise 0. (copy_to_permanent): Use them. (bot_manip): Helper for break_out_target_exprs. (break_out_target_exprs): New function. Uses mapcar. * typeck.c (convert_arguments): Use it. * method.c (hack_identifier): Use convert_from_reference to dereference a reference.Wed May 17 17:54:54 1995 Mike Stump <mrs@cygnus.com> * call.c (convert_harshness): Move reference bashing before pointer to member bashing.Wed May 17 16:57:53 1995 Mike Stump <mrs@cygnus.com> * cvt.c (convert_to_reference): Only complain, if complaints are wanted. * typeck.c (build_function_call_real): Likewise. If LOOKUP_SPECULATIVELY is set and something won't work, return NULL_TREE. * cvt.c (cp_convert): Likewise. Pass flags down to build_method_call. (convert): Pass LOOKUP_NORMAL to cp_convert. * typeck.c (convert_for_assignment): Likewise. (convert_force): Pass LOOKUP_COMPLAIN to cp_convert. (convert_arguments): Get out early if we get an error_mark_node. (convert_for_initialization): Use cp_convert instead of convert so that we can pass flags down. * cp-tree.h (LOOKUP_SPECULATIVELY): Added documentation.Wed May 17 01:43:58 1995 Jason Merrill <jason@phydeaux.cygnus.com> * typeck2.c (store_init_value): Don't take the MAIN_VARIANT of the decl type. * class.c (finish_struct): Don't complain about a class with no user-defined constructors but with a member that has no default constructor, as this is OK for aggregates. * expr.c (cplus_expand_expr, NEW_EXPR): If this is an explicit constructor call, mark slot addressable.Tue May 16 18:37:51 1995 Douglas Rupp <drupp@cs.washington.edu> * g++.c: Changed WINNT to _WIN32.Tue May 16 12:40:16 1995 Jason Merrill <jason@lisa.cygnus.com> * lex.c (handle_sysv_pragma): Don't use token_buffer.Tue May 16 12:05:26 1995 Mike Stump <mrs@cygnus.com> * call.c (resolve_scope_to_name): Add initial semantic support for namespaces. * class.c (finish_struct): Likewise. * cp-tree.h (NAMESPACE_LEVEL): Likewise. * cvt.c (build_up_reference, convert_to_reference): Likewise. * decl.c (binding_level::namespace_p, suspend_binding_level): Likewise. (resume_binding_level, toplevel_bindings_p): Likewise (namespace_bindings_p, declare_namespace_level): Likewise. (resume_level, push_namespace, pop_namespace): Likewise. (pop_everything, pushtag, duplicate_decls, pushdecl): Likewise. (implicitly_declare, lookup_namespace_name): Likewise. (lookup_name_real, start_decl, make_temporary_for_reference): Likewise. (obscure_complex_init, finish_decl, expand_static_init): Likewise. (grokvardecl, grokdeclarator, parmlist_is_exprlist): Likewise. (store_parm_decls, hack_incomplete_structures): Likewise. * decl2.c (get_temp_name, finish_anon_union): Likewise. (current_namespace, push_namespace, pop_namespace): Likewise. (do_namespace_alias, do_toplevel_using_decl): Likewise. (do_class_using_decl): Likewise. * error.c (dump_decl): Likewise. * init.c (build_member_call, build_offset_ref): Likewise. * lex.c (identifier_type): Likewise. * parse.y (lang_extdef, using_decl, extdef): Likewise. (component_decl_1, nested_name_specifier_1): Likewise. * spew.c (yylex): Likewise. * tree.def (NAMESPACE_DECL): Likewise.Tue May 16 11:55:35 1995 Jason Merrill <jason@phydeaux.cygnus.com> * decl.c (push_overloaded_decl): Return the new decl even if it can't be pushed.Tue May 16 11:00:37 1995 Jason Merrill <jason@lisa.cygnus.com> * typeck.c (decay_conversion): Split out from default_conversion. (default_conversion): Call it. (build_binary_op): Likewise. (build_binary_op_nodefault): Use decay_conversion for truth ops.Mon May 15 12:47:56 1995 Jason Merrill <jason@phydeaux.cygnus.com> * decl.c (warn_extern_redeclared_static): This is a pedwarn. (duplicate_decls): Always use the old decl's linkage info. Don't play with linkage of consts. (pushdecl): Don't play with linkage of consts. (redeclaration_error_message): Don't complain about an old public decl and a new non-public decl here. (grokvardecl): Handle linkage of consts here. (grokdeclarator): An 'extern inline' is public. Pass constp to grokvardecl. (start_function): Wait until after the pushdecl to do some linkage stuff. * decl2.c (import_export_vtable): Make duplicates weak rather than static if supported. (import_export_inline): Likewise. * pt.c (do_pending_expansions): Likewise. * class.c (build_vbase_path): flag_assume_nonnull_objects only affects reference conversion. * init.c (emit_base_init): Build up an RTL_EXPR and add it to rtl_expr_chain. * decl.c, decl2.c: s/base_init_insns/base_init_expr/.Tue May 16 07:06:28 1995 Paul Eggert <eggert@twinsun.com> * method.c (numeric_output_need_bar): Renamed from misspelling. * typeck.c (build_ptrmemfunc): Fix misspellings in messages.Sun May 14 10:26:22 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * lang-options.h, lang-specs.h: New files.Thu May 11 00:31:48 1995 Jason Merrill <jason@phydeaux.cygnus.com> * typeck.c (default_conversion): Don't check for BLKmode before pulling out the decl_constant_value. * decl.c (start_function): Clear named_labels and shadowed_labels. * typeck.c (build_function_call_real): Also synthesize methods here.Wed May 10 00:55:59 1995 Jason Merrill <jason@phydeaux.cygnus.com> * decl2.c (finish_file): Synthesize exported methods before the reconsider loop. * parse.y: Move declaration of flag_new_for_scope to file scope.Tue May 9 19:10:33 1995 Mike Stump <mrs@cygnus.com> * decl2.c: Add flag_new_for_scope for new -ffor-scope flag. * parse.y (FOR): Conditionalize the pushing and poping of scope for the for-init-statement upon the new flag_new_for_scope. * parse.y (try_block): Simplify and use compstmt.Mon May 8 12:41:52 1995 Jason Merrill <jason@phydeaux.cygnus.com> * decl.c (define_function): Mark function decl artificial.Sun May 7 00:51:28 1995 Jason Merrill <jason@phydeaux.cygnus.com> * parse.y (simple_stmt, FOR): Put back push/pop for condition scope. * decl2.c (grokclassfn): DECLs don't have cv-qualified types. * tree.c (build_cplus_method_type): Likewise. * cp-tree.h (SET_DECL_ARTIFICIAL): Just set DECL_ARTIFICIAL to 1. * typeck.c (build_function_call_real): If convert_arguments failed, just bail. (convert_arguments): If one of the arguments is error_mark_node, just bail.Sat May 6 02:39:41 1995 Jason Merrill <jason@phydeaux.cygnus.com> * decl.c (duplicate_decls): Don't check DECL_NOT_REALLY_EXTERN for decls that don't include it.Fri May 5 14:23:30 1995 Jason Merrill <jason@phydeaux.cygnus.com>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -