⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 GCC
💻
📖 第 1 页 / 共 5 页
字号:
20010617 Release Manager

        * GCC 3.0 Released.

2001-06-14  Jason Merrill  <jason_merrill@redhat.com>

	* class.c (update_vtable_entry_for_fn): Uncomment optimization to use
	virtual thunk instead of non-virtual.
	(get_matching_virtual): Uncomment.

2001-06-14  Nathan Sidwell  <nathan@codesourcery.com>

	* class.c (dfs_accumulate_vtbl_inits): For case 2 & 3, make sure
	we've not emerged from the hierarchy of RTTI_BINFO on reaching
	a non-virtual base.

2001-06-13  Mark Mitchell  <mark@codesourcery.com>

	* NEWS: Update release number.

2001-06-12  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/3130, c++/3131, c++/3132
	* cp-tree.h (BINFO_UNSHARED_MARKED): New #define.
	* class.c (force_canonical_binfo_r): Move
	BINFO_UNSHARED_MARKED, BINFO_LOST_PRIMARY_P. Don't move
	virtual bases unless they're primary and what they're primary
	too has been moved.
	(dfs_unshared_virtual_bases): Use BINFO_UNSHARED_MARKED. Cope
	with morally virtual bases. Duplicate BINFO_LOST_PRIMARY_P and
	BINFO_PRIMARY_BASE_OF. Clear BINFO_VTABLE for all but the most
	derived binfo.
	(mark_primary_bases): Use BINFO_UNSHARED_MARKED.
	(layout_nonempty_base_or_field): Add most derived type
	parameter. Adjust.
	(layout_empty_base): Likewise.
	(build_base_field): Likewise.
	(build_base_fields): Likewise.
	(propagate_binfo_offsets): Add most derived type
	parameter. Skip non canonical virtual bases too.
	(dfs_set_offset_for_unshared_vbases): Don't skip primary
	bases. Do skip canonical bases.
	(layout_virtual_bases): Adjust.
	(layout_class_type): Adjust.
	(dfs_get_primary_binfo): Build list of virtual primary base
	candidates.
	(get_primary_binfo): Check that the shared virtual primary
	base candidate was found first.
	(accumulate_vtbl_inits): Don't do anything for non-vptr
	containing binfos. For case 1 primary virtual bases, keep
	checking that we've not emerged from the hierarchy of RTTI_BINFO.

2001-06-12  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/3089
	* class.c (dfs_accumulate_vtbl_inits): Always walk down the
	hierarchy looking for primary bases for a ctor
	vtable. Recursively call oneself, if we meet our primary via
	this route and haven't met it yet via inheritance graph order.

2001-06-11  Mark Mitchell  <mark@codesourcery.com>

	* lang-options.h: Emit documentation for -fno-honor-std, not
	-fhonor-std.

2001-06-10  Alexandre Oliva  <aoliva@redhat.com>

	* typeck.c (get_member_function_from_ptrfunc) [vbit_in_delta]:
	Don't clobber delta.
	(expand_ptrmemfunc_cst) [ptrmemfunc_vbit_in_delta]: Adjust pfn.

2001-06-08  Jakub Jelinek  <jakub@redhat.com>

	* search.c (lookup_field_r): If looking for type and non-TYPE_DECL
	is found, look first if name does not match the structure name.

2001-06-08  Nathan Sidwell  <nathan@codesourcery.com>

	* decl.c (duplicate_decls): Fix DECL_TEMPLATE_RESULT thinko
	in previous change.

2001-06-08  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/2929
	* friend.c (do_friend): Use push_decl_namespace for classes at
	namespace scope.

2001-06-08  Nathan Sidwell  <nathan@codesourcery.com>
	    Jason Merrill <jason_merrill@redhat.com>

	PR c++/3061
	* class.c (build_secondary_vtable): Use assert, rather than an error
	message.
	(dfs_fixup_binfo_vtbls): BINFO_VTABLE might be NULL.
	(dfs_accumulate_vtbl_inits): A lost primary virtual base may
	be between ORIG_BINFO and RTTI_BINFO, but neither of them.
	Don't set BINFO_VTABLE for a primary virtual base.

2001-06-07  Mark Mitchell  <mark@codesourcery.com>

	* decl.c (duplicate_decls): Update source position information
	when a template function is defined.

2001-06-07  Phil Edwards  <pme@sources.redhat.com>

	* lang-specs.h:  Move -D_GNU_SOURCE to config/linux.h.

2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/2914
	* decl.c (pushtag): Don't push into a complete type's scope.

2001-06-06  Jason Merrill  <jason_merrill@redhat.com>

	* cp-tree.h (THUNK_GENERATE_WITH_VTABLE_P): Lose.
	(struct lang_decl_flags): Lose generate_with_vtable_p.
	(BV_GENERATE_THUNK_WITH_VTABLE_P): Lose.
	* class.c (copy_virtuals): Adjust.
	* decl2.c (mark_vtable_entries): Adjust.
	* method.c (make_thunk, build_vtable_entry): Adjust.
	* class.c (update_vtable_entry_for_fn): Only look as far as the
	first defining class.
	(build_vtbl_initializer): Put nothing in the slot for a function only 
	defined in a lost primary virtual base.
	(add_vcall_offset_vtbl_entries_1): Use the same code for 
	the lost primary case and the normal case.
	(dfs_unshared_virtual_bases): Don't lose a non-virtual primary base.
	(get_vfield_offset, get_derived_offset): Lose.
	(dfs_find_final_overrider): Use look_for_overrides_here.
	(get_matching_virtual): New fn.
	* semantics.c (emit_associated_thunks): Check BV_USE_VCALL_INDEX_P,
	not BV_VCALL_INDEX.
	* search.c (look_for_overrides_here): Split out from...
	(look_for_overrides_r): Here.

	* class.c (find_final_overrider): Return error_mark_node on error.

2001-06-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* call.c (convert_default_arg): Use INTEGRAL_TYPE_P.
	(build_over_call): Likewise.
	* decl.c (grokparms): Likewise.
	* pt.c (tsubst_decl): Likewise.
	* typeck.c (convert_arguments): Likewise.

2001-06-05  Mark Mitchell  <mark@codesourcery.com>

	* semantics.c (begin_class_definition): Robustify.

	* pt.c (instantiate_decl): Tell the repository code about the
	clones, not the cloned functions.
	* repo.c (repo_template_used): Explicitly instantiate the cloned
	function, not the clones.

2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>

	* call.c (build_user_type_conversion_1): Set ICS_USER_FLAG and
	ICS_BAD_FLAG on created conversion.
	(compare_ics): Break out rank.

2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>

	* class.c (layout_vtable_decl): Fix off by one error on
	build_index_type.
	(build_vtt): Likewise.
	(build_ctor_vtbl_group): Likewise.

2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>

	* class.c (maybe_indent_hierarchy): New function.
	(dump_class_hierarchy_r): Add flags. Dump extra binfo
	information, if enabled. Use maybe_indent_hierarchy. Adjust
	output format.
	(dump_class_hierarchy): Adjust prototype. Adjust output format.
	(dump_array, dump_vtable, dump_vtt): New functions.
	(finish_struct_1): Adjust hierarchy dumping.
	(initialize_vtable): Call dump_vtable.
	(build_vtt): Call dump_vtt.
	(build_ctor_vtbl_group): Call dump_vtable.
	* decl2.c (flag_dump_class_layout): Remove.
	(cxx_decode_option): Remove dump translation unit
	and dump class hierarchy check. Call dump_switch_p.
	(finish_file): Adjust dumping.
	(dump.c): Only dump base classes if not TDF_SLIM.
	Only dump namespace members if not TDF_SLIM.
	* optimize.c (dump_function): New function.
	(optimize_function): Call dump_function.
	* semantics.c (expand_body): Use dump_enabled_p.

2001-06-01  Nathan Sidwell  <nathan@codesourcery.com>

	PR g++/2936
	Part missed from first commit
	* decl2.c (finish_anon_union): Copy context.

2001-05-30  Nathan Sidwell  <nathan@codesourcery.com>

	PR g++/2936
	* optimize.c (remap_decl): Remap anonymous aggregate members too.

2001-05-26  Nathan Sidwell  <nathan@codesourcery.com>

	PR g++/2823
	* semantics.c (expand_body): Don't optimize thunks.

2001-05-24  Mark Mitchell  <mark@codesourcery.com>

	* decl.c (duplicate_decls): Tidy.
	(init_decl_processing): Always set flag_no_builtin.

2001-05-24  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/2184
	* decl2.c (do_local_using_decl): Push the decls, even in a
	template.

2001-05-22  Mark Mitchell  <mark@codesourcery.com>

	* optimize.c (initialize_inlined_parameters): Don't set
	TREE_READONLY for a VAR_DECL taking the place of an inlined
	PARM_DECL.

2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>

	* parse.y: Refer to compound literals as such, not as
	constructor-expressions.

2001-05-21  Mark Mitchell  <mark@codesourcery.com>

	* call.c (build_op_delete_call): Ignore exception-specifications
	when looking for matching delete operators.
	* init.c (build_new_1): Compute whether or not the allocation
	function used is a placement allocation function or not, and
	communicate this information to build_op_delete_call.

2001-05-21  Jason Merrill  <jason_merrill@redhat.com>

	* decl2.c (lang_f_options): Remove huge-objects, vtable-thunks.
	(unsupported_options): Correspondingly.

2001-05-19  Zack Weinberg  <zackw@stanford.edu>

	* except.c (choose_personality_routine): Export.  Add
	explanatory comment.  Take an enum languages, not a boolean.
	(initialize_handler_parm): Adjust to match.                 
	* cp-tree.h: Prototype choose_personality_routine.
	* lex.c (handle_pragma_java_exceptions): New function.
	(init_cp_pragma): Register #pragma GCC java_exceptions.

2001-05-20  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/2781
	* optimize.c (update_cloned_parm): Copy addressability and other
	flags.

2001-05-18  Jason Merrill  <jason_merrill@redhat.com>

	* class.c (build_vtable): Set DECL_ASSEMBLER_NAME for vtables here.
	(get_vtable_decl, build_vtt): Not here.

2001-05-17  Mark Mitchell  <mark@codesourcery.com>

	* except.c (cp_protect_cleanup_actions): New function.
	(init_exception_processing): Don't set protect_cleanup_actions 
	here.  Do set lang_protect_cleanup_actions.

2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>

	* spew.c (read_token): Call yyerror on all unexpected tokens.

2001-05-12  Richard Henderson  <rth@redhat.com>
	
	EH merge from mainline:

	2001-04-23  Jason Merrill  <jason_merrill@redhat.com>
        * except.c (build_throw): Wrap the initialization of the exception
        object in a MUST_NOT_THROW_EXPR.
        (do_free_exception): #if 0.

        * cp-tree.def (EH_SPEC_BLOCK): New.
        (MUST_NOT_THROW_EXPR): New.
        * cp-tree.h: Update changed function declarations.
        (CPTI_PUSH_EXCEPTION_IDENTIFIER): Remove.
        (CPTI_CALL_UNEXPECTED): New.
        (struct cp_language_function): Rename x_eh_spec_try_block
        to x_eh_spec_block.
        (EH_SPEC_STMTS, EH_SPEC_RAISES): New.
        * decl.c (current_binding_level): If no current function 
        bindings, revert to scope_chain.
        (initialize_predefined_identifiers): Remove __cp_push_exception.
        (store_parm_decls): Use begin_eh_spec_block.
        (finish_function): Use finish_eh_spec_block.
        (mark_lang_function): Update for name changes.
        * decl2.c (finish_file): No mark_all_runtime_matches.
        * dump.c (cp_dump_tree): Handle new tree codes.
        * error.c (dump_expr) [BIND_EXPR]: Fix typo.
        * except.c (catch_language_init, catch_language): Remove.
        (init_exception_processing): Don't set language code.
        Initialize call_unexpected_node, protect_cleanup_actions,
        eh_personality_libfunc, lang_eh_runtime_type.
        (call_eh_info, push_eh_info, get_eh_info, get_eh_value): Remove.
        (get_eh_type, get_eh_caught, get_eh_handlers): Remove.
        (prepare_eh_type): Split out type canonicalizations ...
        (build_eh_type_type): ... from here.
        (build_eh_type_type_ref): Remove.
        (mark_all_runtime_matches): Remove.
        (build_exc_ptr): New.
        (do_begin_catch, do_end_catch): New.
        (do_pop_exception): Remove.
        (build_terminate_handler): Remove.
        (choose_personality_routine): Split out language choice from ...
        (initialize_handler_parm): ... here.
        Use MUST_NOT_THROW_EXPR.
        (expand_start_catch_block): Use do_begin_catch.  Simplify Java
        exception object handling.
        (expand_start_eh_spec, expand_end_eh_spec): Remove.
        (expand_exception_blocks, alloc_eh_object): Remove.
        (begin_eh_spec_block, finish_eh_spec_block): New.
        (do_allocate_exception, do_free_exception): New.
        (expand_throw): Merge into ...
        (build_throw): ... here.  Update for abi.
        * expr.c (cplus_expand_expr): No expand_internal_throw.
        Handle MUST_NOT_THROW_EXPR.
        * pt.c (tsubst_expr): Handle EH_SPEC_BLOCK.
        * semantics.c (*) Update for except.h name changes.
        (genrtl_try_block): No protect_with_terminate.
        (genrtl_eh_spec_block): New.
        (genrtl_handler): Don't emit the goto here.
        (cp_expand_stmt): Handle EH_SPEC_BLOCK.
        (genrtl_finish_function): Don't expand_exception_blocks.
        * tree.c (cp_statement_code_p): Handle EH_SPEC_BLOCK.

	* decl.c (struct named_label_list): Rename eh_region to
	in_try_scope, add in_catch_scope.
	(struct binding_level): Rename eh_region to is_try_scope,
	add is_catch_scope.
	(note_level_for_try): Rename from note_level_for_eh.
	(note_level_for_catch): New.
	(poplevel): Copy both is_try_scope and is_catch_scope to
	the named_label_list struct.
	(check_previous_goto_1): Don't check for catch block via
	DECL_ARTIFICIAL; use in_try_scope instead.
	(check_goto): Likewise.
	* cp-tree.h (note_level_for_try, note_level_for_catch): Declare.
	* except.c (expand_start_catch_block): Call note_level_for_catch.
	* semantics.c (begin_compound_stmt): Update for note_level_for_try.

	* except.c: Use USING_SJLJ_EXCEPTIONS instead of
	exceptions_via_longjmp.

2001-05-12  Alexandre Oliva  <aoliva@redhat.com>

	* cp-tree.h (ptrmemfunc_vbit_where_t): Declare type.
	* typeck.c (get_member_function_from_ptrfunc,
	build_ptrmemfunc, expand_ptrmemfunc_cst): Take

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -