📄 changelog
字号:
(cat_namespace_levels): Remove. * decl2.c: Include splay-tree.h and varray.h. (priority_info_s): New structure. (finish_vtable_vardecl): Change prototype. Adjust for new calling conventions. (prune_vtable_vardecl): Likewise. (finish_sigtable_vardecl): Likewise. (setup_initp): Remove. (do_dtors): Remove. (do_ctors): Remove. (start_static_storage_duration_function): New function. (generate_inits_for_priority): Likewise. (finish_static_storage_duration_function): Likewise. (get_priority_info): Likewise. (do_static_initialization): Likewise. (do_static_destruction): Likewise. (do_static_initialization_and_destruction): Likewise. (generate_ctor_or_dtor_function): Likewise. (generate_ctor_and_dtor_functions_for_priority): Likewise. (pending_statics): Make it a varray. (pending_statics_used): New variable. (saved_inlines): Make it a varray. (saved_inlines_used): New variable. (finish_static_data_member): Change method of updating pending_statics. (mark_inline_for_output): Remove #if 0'd code. Change method of updating saved_inlines. (walk_vtables): Remove. (walk_sigtables): Likewise. (import_export_decl): Use DECL_TINFO_FN_P. (pending_templates): Remove declaration. (maybe_templates): Likewise. (static_aggregates_initp): Likewise. (setup_initp): Likewise. (finish_objects): Simplify. (INITIALIZE_P_IDENTIFIER): New macro. (PRIORITY_IDENTIFIER): New macro. (SSDF_IDENTIFIER): New macro. (initialize_p_decl): New variable. (priority_decl): Likewise. (ssdf_decl): Likewise. (priority_info_map): Likewise. (finish_file): Recode output of static intializers and other file-scope finalization tasks. * error.c (OB_END_TEMPLATE_ID): New macro. (dump_type_real): Use it. (dump_decl): Likewise. (dump_function_name): Likewise. * lex.c (set_typedecl_interface_info): Adjust for new walk_globals interface. (check_newline): Use walk_globals, not walk_vtables. * pt.c (pending_tempalte_expansions): Remove. (set_vardecl_interface_info): Likewise. (pending_templates): Make static. (maybe_templates): Likewise. (instantiate_class_template): Adjust call to finish_struct_1. (instantiate_pending_templates): New function. * rtti.c (get_tinfo_fn): Use SET_DECL_TINFO_FN_P. * tree.c (static_aggregates_initp): Remove. (cp_valid_lang_attribute): Don't use it; use DECL_INIT_PRIORITY instead. * Makefile.in (decl2.o): Depend on varray.h and splay-tree.h. * gxx.gperf (RETURN): Rename to RETURN_KEYWORD to avoid clashes with the RTL code RETURN. * hash.h: Regenerated. * lex.c (reinit_parse_for_block): Use RETURN_KEYWORD. * parse.y: Replace RETURN with RETURN_KEYWORD throughout. * parse.c: Regenerated. * pt.c: Include varray.h. Include rtl.h since varray.h requires it. (inline_parm_levels): New variable. (inline_parm_levels_used): Likewise. (maybe_begin_member_template_processing): Update them. (maybe_end_member_template_processing): Use them, rather than guessing how many levels to pop. * decl.c (make_typename_type): Tighten error-checking.1999-04-20 Mark Mitchell <mark@codesourcery.com> * cp-tree.h (build_binary_op): Remove unneeded parameter. * class.c (build_vrable_entry_ref): Adjust call to build_binary_op. * decl.c (expand_static_init): Likewise. (grokdeclarator): Likewise. (finish_function): Likewise. * decl2.c (delete_sanity): Likewise. (do_dtors): Likewise. (do_ctors): Likewise. * error.c (dump_type_suffix): Likewise. * expr.c (cplus_expand_expr): Likewise. * init.c (resolve_offset_ref): Likewise. (build_new): Likewise. (build_new_1): Likewise. (build_vec_delete_1): Likewise. (expand_vec_init_catch_clause): Likewise. (build_delete): Likewise. * pt.c (tsubst): Likewise. * rtti.c (synthesize_tinfo_fn): Likewise. * search.c (expand_upcast_fixups): Likewise. (expand_direct_vtbls_init): Likewise. * typeck.c (get_member_function_from_ptrfunc): Likewise. (build_binary_op_nodefault): Likewise. (point_int_sum): Likewise. (pointer_diff): Likewise. (build_unary_op): Likewise. (build_modify_expr): Likewise. (get_delta_difference): Likewise. (build_ptrmemfunc): Likewise. (expand_ptrmemfunc_cst): Likewise. 1999-04-20 Jason Merrill <jason@yorick.cygnus.com> * decl.c (grokfndecl): Always call cplus_decl_attributes. * decl2.c (grokfield): Pass attrlist to grokdeclarator.1999-04-19 Mark Mitchell <mark@codesourcery.com> * cp-tree.h (finish_static_data_member_decl): New function. * decl2.c (finish_static_data_member_decl): Split out from ... (grokfield): Here. * pt.c (instantiate_class_template): Use it here instead of trying to fake it. (tsubst_decl): Don't set DECL_ASSEMBLER_NAME; finish_static_data_member_decl will do that. Explicit set DECL_EXTERNAL to match non-template processing. 1999-04-18 Mark Mitchell <mark@codesourcery.com> * cp-tree.h (finish_class_definition): Add parameter. * parse.y (structsp): Use it. Don't call pop_scope here. * parse.c: Regenerated. * semantics.c (finish_class_definition): Pop it here.1999-04-17 Mark Mitchell <mark@codesourcery.com> * decl.c (xref_tag): Revise handling of nested template declarations. * pt.c (check_explicit_specialization): Tweak handling of friend templates in template classes. (tsubst_friend_class): Handle friend declarations for nested member template classes. 1999-04-16 Mark Mitchell <mark@codesourcery.com> * class.c (finish_struct): Remove unused variable. (pushclass): Likewise. (invalidate_class_lookup_cache): Likewise. * cp-tree.def (TYPENAME_TYPE): Improve documentation. * decl.c (build_typename_type): Make sure TYPENAME_TYPE_FULLNAME doesn't get obliterated. (make_typename_type): Handle template classes correctly. * cp-tree.h (TREE_NONLOCAL_FLAG): Remove. (storetags): Declare. * class.c (finish_struct): Don't use TREE_NONLOCAL_FLAG. (pushclass): Likewise. Use storetags to install tag declarations, not pushtag. (invalidate_class_lookup_cache): Don't use TREE_NONLOCAL_FLAG. * decl.c (storetags): Make it global. (push_class_binding): Set INHERITED_VALUE_BINDING_P for an implicit typename declaration. (pushtag): Tidy. Don't use TREE_NONLOCAL_FLAG. * method.c (hack_identifier): Likewise. * search.c (lookup_member): Likewise. * decl.c (warn_about_implicit_typename_lookup): New function. (lookup_name_real): Use it. Rework handling of implicit typename extension.1999-04-15 Mark Mitchell <mark@codesourcery.com> * cp-tree.h (lookup_nested_field): Remove. * class.c (push_nested_class): Handle UNION_TYPEs. (pop_nested_class): Likewise. * decl.c (lookup_name_real): Don't call lookup_nested_field. (start_decl): Use push_nested_class, not just pushclass. (cp_finish_decl): Use pop_nested_class, not just popclass. * search.c (lookup_nested_field): Remove. * cp-tree.h (lang_type): Add documentation. * decl2.c (handle_class_head): Create template declarations here, as appropriate. * parse.y (class_head): Return whether or not we entered a new scope, as well as the type named. (named_class_head): Likewise. (named_complex_class_head_sans_basetype): Likewise. (structsp): Adjust accordingly. Pop scope when required. * parse.c: Regenerated. * pt.c (check_default_tmpl_args): Robustify. (redeclare_class_template): Likewise. (instantiate_class_template): An instantiation of an anonymous union is itself an anonymous union. * semantics.c (begin_class_definition): Don't create template declarations here. 1999-04-15 Jason Merrill <jason@yorick.cygnus.com> * parse.y (after_type_declarator_intern): New nonterminal. (after_type_declarator): Use it. (direct_after_type_declarator): Likewise. Move above nonnested_type to fix reduce/reduce conflict resolution. (declmods): Reducing from just 'attributes' has EMPTY precedence. * Makefile.in (CONFLICTS): Update. * decl.c (define_label): Downgrade error for jumping over a non-POD decl to pedwarn.1999-04-14 Mark Mitchell <mark@codesourcery.com> * cp-tree.h (popclass): Change declaration. (pop_nested_class): Likewise. (poplevel_class): Remove declaration. * call.c (convert_default_argument): Pass no arguments to popclass. * class.c (finish_struct_1): Likewise. (finish_struct): Likewise. (popclass): Remove argument. Simplify code accordingly. (pop_nested_class): Likewise. * decl.c (poplevel_class): Declare it here, and make it static. (poplevel): Handle class scopes. (poplevel_class): Don't take an rgument. Simplify. (pop_everything): Pass no arguments to pop_nested_class. (cp_finish_decl): Pass no arguments to popclass. (grokdeclarator): Pass no arguments to pop_nested_class. (finish_function): Likewise. * decl2.c (grokfield): Likewise. (pop_scope): Pass no arguments to popclass. * lex.c (do_pending_defargs): Pass no arguments to pop_nested_class. * pt.c (instantiate_class_template): Move call to pushclass, and document. Pass no arguments to popclass. (regenerate_decl_from_template): Likewise. 1999-04-14 Jason Merrill <jason@yorick.cygnus.com> * typeck.c (build_unary_op): Handle taking the address of a unique bound non-static member function.1999-04-13 Martin von Loewis <loewis@informatik.hu-berlin.de> * lang-options.h (-Wdeprecated): New flag. * decl2.c (warn_deprecated): New flag. (lang_decode_option): Deprecated this-is-variable, external-templates, alt-external-templates. Support -Wdeprecated. * errfn.c (cp_deprecated): New function.1999-04-13 Jason Merrill <jason@yorick.cygnus.com> * decl2.c (setup_initp): Compare DECL_ASSEMBLER_NAME instead of the decls themselves. * pt.c (tsubst_function_type): Copy attributes over. * tree.c (cp_valid_lang_attribute): New fn. Handle init_priority and com_interface. * cp-tree.h: Add prototype. * decl.c (init_decl_processing): Set valid_lang_attribute.1999-04-13 Mark Mitchell <mark@codesourcery.com> * class.c (finish_struct_1): Look at the const-ness of the field's type, not the TREE_READONLY-ness of the declaration. * method.c (synthesize_method): Likewise. * pt.c (tsubst_decl): Call c_apply_type_quals_to_decl when creating new declarations.1999-04-13 Mike Stump <mrs@wrs.com> * decl2.c (import_export_decl): Because vtables always reference virtual functions, even if they are inlined, don't allow -fno-implement-inlines to not emit them, instead, emit them with the vtable. * decl.c (start_function): Likewise.1999-04-12 Jason Merrill <jason@yorick.cygnus.com> * cp-tree.h (struct lang_type): Add com_interface. (CLASSTYPE_COM_INTERFACE): New macro. * class.c (set_rtti_entry): COM interface classes have no RTTI entries in their vtables; adjust. (add_virtual_function, finish_base_struct, skip_rtti_stuff, modify_one_vtable, fixup_vtable_deltas1, override_one_vtable, finish_struct_1): Likewise. * decl2.c (mark_vtable_entries): Likewise. * rtti.c (build_headof, get_tinfo_fn_dynamic): Likewise. * search.c (get_abstract_virtuals_1, get_abstract_virtuals, expand_upcast_fixups): Likewise. * tree.c (debug_binfo): Likewise. * cp-tree.h (COMPARE_NO_ATTRIBUTES): New macro. * typeck.c (comptypes): If we get it, ignore attributes. * class.c (instantiate_type): Use BASELINK_P. Change complain parameter to flags; 2 means ignore attributes. * call.c (build_op_delete_call): Pass it. * decl.c (xref_tag): Only complain once about using a typedef-name with 'struct'. Downgrade to pedwarn. * decl.c (grokdeclarator): Allow [] syntax for zero-length array. * parse.y (absdcl_intern): New nonterminal. (absdcl, direct_abstract_declarator): Use it. * pt.c (lookup_template_class): Look through implict typename.1999-04-11 Mark Mitchell <mark@codesourcery.com> * friend.c (add_friend): Deal gracefully with error_mark_node. * method.c (build_overload_value): Handle pointers-to-members as template parameters. * decl.c (push_binding): Fix typo in comment.1999-04-10 Mark Mitchell <mark@codesourcery.com> * error.c (dump_type_real): If a typename is a template-id, put out the template arguments. (dump_expr): Handle TEMPLATE_ID_EXPR. * pt.c (lookup_template_class): Now that full arguments are available everywhere, remove code that tried to guess them.1999-04-09 Mark Mitchell <mark@codesourcery.com> * decl.c (make_typename_type): Complain if we don't find a type when trying to make a typename type for a non-template type.1999-04-09 Jason Merrill <jason@yorick.cygnus.com> * decl.c (start_decl): Pass attributes to grokdeclarator. (grokdeclarator): Handle attributes on constructor-syntax initializers.1999-04-08 Mark Mitchell <mark@codesourcery.com> * error.c (dump_expr): Don't crash on INDIRECT_REFs whose operands don't have types. * search.c (template_self_reference_p): Tweak.1999-04-07 Mark Mitchell <mark@codesourcery.com> * init.c (build_offset_ref): Don't build yet another weird data structure to describe overloaded functions.1999-04-06 Mark Mitchell <mark@codesourcery.com> * cp-tree.h (BASELINK_P): New macro. (SET_BASELINK_P): Likewise. * init.c (build_member_call): Remove needless assignment in if statement. * search.c (lookup_field_r): Fix handling when we are looking
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -