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

📄 changelog

📁 GCC
💻
📖 第 1 页 / 共 5 页
字号:
	(lang_mark_tree): Don't mark DECL_ACCESS for DECL_DISCRIMINATOR_P.
	Mark inlined_fns as tree, remove call to mark_inlined_fns.
	* class.c (alter_access): Ensure DECL_ACCESS is never set if
	DECL_DISCRIMINATOR_P.
	* cp-tree.h (cp_language_function): Add x_local_names.
	(lang_decl_flags): Add discriminator into u2.
	(lang_decl_inlined_fns): Remove.
	(lang_decl): inlined_fns is now a TREE_VEC.
	(DECL_DISCRIMINATOR_P, DECL_DISCRIMINATOR): Define.
	* optimize.c (inlinable_function_p): DECL_INLINED_FNS is now a
	TREE_VEC, not a custom structure.
	(optimize_function): Likewise.
	* mangle.c (discriminator_for_local_entity): Discriminate among
	VAR_DECL local entities.
	* search.c (dfs_access_in_type): If DECL_DISCRIMINATOR_P, DECL_ACCESS
	is not valid.

2001-03-22  Bryce McKinlay  <bryce@albatross.co.nz>

	* call.c (build_java_interface_fn_ref): Fix local declarations.

2001-03-22  Bryce McKinlay  <bryce@albatross.co.nz>

	Add support for Java interface method calls.
	* cp-tree.h (struct lang_type): Add java_interface flag.
	(TYPE_JAVA_INTERFACE): New macro.
	* tree.c (cp_valid_lang_attribute): Handle "java_interface" attribute
	by setting TYPE_JAVA_INTERFACE.
	* call.c (java_iface_lookup_fn): New static.
	(build_over_call): If calling a method declared in a 
	TYPE_JAVA_INTERFACE, call build_java_interface_fn_ref to generate the
	expression which resolves the function address.
	(build_java_interface_fn_ref): New function.

2001-03-22  Zack Weinberg  <zackw@stanford.edu>

	* lang-specs.h: Add zero initializer for cpp_spec field to
	all array elements.  Don't put an #ifdef inside the initializer
	list; set a default for CPLUSPLUS_CPP_SPEC and use it.

2001-03-22  Jakub Jelinek  <jakub@redhat.com>

	* method.c (do_build_assign_ref): Don't use build_modify_expr for
	anonymous aggregates, since they don't have assignment operator
	method.
	* decl.c (fixup_anonymous_aggr): Disallow ctors, dtors and copy
	assignment operators for anonymous structure fields.

2001-03-21  Jason Merrill  <jason@redhat.com>

	* pt.c (instantiate_decl): Abort if we see a member constant
	instantiation that doesn't already have its initializer.

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

	* class.c (build_clone): Clear DECL_ASSEMBLER_NAME.

2001-03-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
	    based on an idea from Joe Buck <jbuck@synopsys.com>

	* parse.y (bad_decl, template_arg_list_ignore, arg_list_ignore):
	New nonterminals.
	(data_def, component_decl): Add reductions to bad_decl.

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

	* mangle.c (mangle_decl_string): Mangle the names of overloaded
	operators, even when they have `extern "C"' linkage.

2001-03-19  Mark Mitchell  <mark@codesourcery.com>

	* class.c (get_vtable_decl): Use SET_DECL_ASSEMBLER_NAME,
	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
	where it's not necessary.
	(add_method): Remove optimization involving comparison of
	DECL_ASSEMBLER_NAME.
	(build_vtbl_or_vbase_field): Use SET_DECL_ASSEMBLER_NAME,
	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
	where it's not necessary.
	(check_methods): Likewise.
	(build_clone): Likewise.
	(built_vtt): Likewise.
	* cp-tree.h (DECL_NEEDED_P): Likewise.
	* decl.c (pushtag): Likewise.
	(duplicate_decls): Likewise.
	(pushdecl): Likewise.
	(builtin_function): Likewise.
	(build_library_fn_1): Set DECL_LANGUAGE for library functions.
	(build_cp_library_fn): Likewise.
	(maybe_commonize_var): Use SET_DECL_ASSEMBLER_NAME,
	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
	where it's not necessary.
	(make_rtl_for_nonlocal_decl): Likewise.
	(cp_finish_decl): Likewise.
	(grokfndecl): Likewise.
	(grokvardecl): Likewise.
	(grokdeclarator): Likewise.
	(start_function): Likewise.
	(cp_missing_return_ok_p): Likewise.
	* decl2.c (grokclassfn): Likewise.
	(check_classfn): Likewise.
	(finish_static_data_member_decl): Likewise.
	(grokfield): Likewise.
	* error.c (GLOBAL_IORD_P): Remove.
	(dump_global_iord): Improve output.
	(dump_decl): Avoid using DECL_ASSEMBLER_NAME.
	* except.c (nothrow_libfn_p): Summarily reject any function not in
	namespace-scope.
	* init.c (build_java_class_ref): Don't explicitly set
	DECL_ASSEMBLER_NAME after calling mangle_decl.
	* mangle.c (mangle_decl_string): Handle extern "C" functions.
	(mangle_decl): Set the DECL_ASSEMBLER_NAME for the decl.
	* method.c (set_mangled_name_for_decl): Don't explicitly set
	DECL_ASSEMBLER_NAME after calling mangle_decl.
	(make_thunk): Explicitly set the DECL_ASSEMBLER_NAME and
	IDENTIFIER_GLOBAL_VALUE for the thunk.
	* pt.c (set_mangled_name_for_template_decl): Remove.
	(check_explicit_specialization): Don't use it.
	(looup_template_class): Don't set DECL_ASSEMBLER_NAME.
	(tsubst_friend_function): Likewise.
	(tsubst_decl): Likewise.
	(regenerate_decl_from_template): Use COPY_DECL_ASSEMBLER_NAME.
	* rtti.c (get_tinfo_decl): Use SET_DECL_ASSEMBLER_NAME,
	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
	where it's not necessary.
	(tinfo_base_init): Likewise.
	(create_real_tinfo_var): Likewise.
	* search.c (looup_field_1): Likewise.
	* semantics.c (finish_named_return_value): Likewise.
	* tree.c (init_tree): Set lang_set_decl_assembler_name.
	
2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>

	* lex.c: Delete duplicate pending_lang_change.

2001-03-15  Zack Weinberg  <zackw@stanford.edu>

	* decl.c: Replace all uses of 'boolean' with 'bool'.

2001-03-15  Gabriel Dos Reis  <gdr@codesourcery.com>

	* except.c: Revert previous patch.

2001-03-15  Gabriel Dos Reis  <gdr@codesourcery.com>

	Correct semantics restrictions checking in throw-expression.
	* except.c (is_admissible_throw_operand): New function.
	(build_throw): Use it.

2001-03-14  Mark Mitchell  <mark@codesourcery.com>

	* decl.c (cp_make_fnname_decl): Set DECL_IGNORED_P on __FUNCTION__
	and its ilk.

	* class.c (build_clone): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
	* cp-tree.h (DECL_IN_MEMORY_P): Likewise.
	* decl.c (duplicate_decls): Likewise.
	(builtin_function): Likewise.
	(build_library_fn): Likewise.
	(build_cp_library_fn): Likewise.
	(check_initializer): Likewise.
	(cp_finish_decl): Likewise.
	* decl2.c (grokfield): Likewise.
	(grok_function_init): Remove #if 0'd code.
	(finish_anon_union): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
	* friend.c (do_friend): Likewise.
	* init.c (get_temp_regvar): Likewise.
	* method.c (make_thunk): Likewise.
	* pt.c (tsubst_friend_function): Likewise.
	(tsubst_decl): Likewise.
	(regenerate_decl_from_template): Likewise.
	* semantics.c (genrtl_named_return_value): Likewise.
	(expand_body): Likewise.
	(genrtl_finish_function): Likewise.
	* tree.c (cp_tree_equal): Likewise.
	
2001-03-06  Zack Weinberg  <zackw@stanford.edu>

	* spew.c: Remove references to CPP_OSTRING.

2001-03-06  Jeffrey Oldham  <oldham@codesourcery.com>

	* call.c (joust): Ensure more_specialized()'s argument length
	parameter has correct value for constructors.

2001-03-03  Nathan Sidwell  <nathan@codesourcery.com>

	* call.c (convert_like_real): Add extra semantics to INNER
	parameter. Don't convert to temporary if a user conversion
	gives us an lvalue that we're about to bind to a reference.
	Set INNER to indicate pending reference binding on recursive
	calls.

2001-03-02  Nathan Sidwell  <nathan@codesourcery.com>

	* class.c (check_field_decls): Pointers to member do not a
	non-pod struct make, as per DR 148.

2001-03-02  Nathan Sidwell  <nathan@codesourcery.com>

	* call.c (joust): cp_pedwarn when using gnu extension concerning
	worst conversion sequences.

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

	Implement using decls inside template functions.
	* decl2.c (validate_nonmember_using_decl): Don't special case
	fake_std_node in the global namespace. Don't reject early when
	processing a template.
	(do_local_using_decl): Add to statement tree. Don't do further
	processing when building a template.
	* pt.c (tsubst_expr, DECL_STMT case): Deal with USING_DECLs.

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

	* decl2.c (do_nonmember_using_decl): Don't complain if we find
	same function. Do complain about ambiguating extern "C"
	declarations.

2001-02-28  Nathan Sidwell  <nathan@codesourcery.com>

	* pt.c (invalid_nontype_parm_type_p): Deprecate float and
	complex types.

2001-02-27  Nathan Sidwell  <nathan@codesourcery.com>

	Fix ctor vtable vcall offsets.
	* class.c (struct vtbl_init_data_s): Add rtti_binfo member.
	(build_rtt_vtbl_entries): Lose RTTI_BINFO parameter.
	(get_matching_base): Remove.
	(get_original_base): New function.
	(build_vtbl_initializer): Initialize vid.rtti_binfo. 
	Use a virtual thunk for a ctor vtable with an index
	(add_vcall_offset_vtbl_entries_1): Check if binfo has lost a
	primary base within a constructor vtable. Only set
	BV_VCALL_INDEX when not a constructor vtable. Adjust vcall offset
	when primary base has been lost.
	* cp-tree.h (BINFO_VIRTUALS): Remove ambiguity from comment.

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

	* spew.c (yylex): Correct handling of friends.

	* mangle.c (write_encoding): Pass write_function_type the
	FUNCTION_DECL for the function being encoded.
	(write_function_type): Pass it along to write_bare_function_type.
	(write_bare_function_type): Pass it along to write_method_parms.
	(write_method_parms): Don't mangle the compiler-generated
	parameters to a constructor or destructor.

2001-02-22  Andreas Jaeger  <aj@suse.de>

	* optimize.c: Include toplev.h for
	note_deferral_of_defined_inline_function prototype.

2001-02-22  Jakub Jelinek  <jakub@redhat.com>

	* cp-tree.h (struct lang_decl_inlined_fns): New.
	(struct lang_decls): Add inlined_fns.
	(DECL_INLINED_FNS): New macro.
	* optimize.c (struct inline_data): Add inlined_fns.
	(declare_return_variable): Use VARRAY_ACTIVE_SIZE macro.
	(inlinable_function_p): Likewise, fix typo in comment,
	function is not inlinable if it already inlined function currently
	being optimized.
	(expand_call_inline): Add fn to inlined_fns if neccessary.
	(optimize_function): Initialize inlined_fns.
	Save inlined_fns into DECL_INLINED_FNS after expanding inlines.
	* decl.c (mark_inlined_fns): New function.
	(lang_mark_tree): Call it.

2001-02-19  Mark Mitchell  <mark@codesourcery.com>

	* decl2.c (set_decl_namespace): Allow explicit instantiations in
	any namespace.

2001-02-21  Jason Merrill  <jason@redhat.com>

	* cp-tree.h (struct lang_decl_flags): Remove uninlinable flag.
	(DECL_UNINLINABLE): Move to middle-end.

	* class.c (clone_function_decl): Set DECL_ABSTRACT on original fn.
	* decl.c (duplicate_decls): Preserve DECL_ABSTRACT.
	* class.c (build_clone): Set DECL_ABSTRACT_ORIGIN for the clone.
	* optimize.c (maybe_clone_body): Set DECL_ABSTRACT_ORIGIN for the
	parms and outer BLOCK.  note_deferral_of_defined_inline_function.

	* method.c (implicitly_declare_fn): Don't set DECL_ARTIFICIAL on
	second parm of op=.

2001-02-18  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>

	* optimize.c (expand_call_inline): Don't walk subtrees of type
	nodes.

2001-02-18  Mark Mitchell  <mark@codesourcery.com>

	* class.c (add_vcall_offset_vtbl_entries_1): Only add one entry
	for a destructor.

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

	* cp-tree.h (new_abi_rtti_p): Remove.
	(name_mangling_version): Likewise.
	(flag_do_squangling): Likewise.
	* class.c (build_rtti_vtbl_entries): Remove old ABI support.
	* decl.c (grokfndecl): Likewise.
	* decl2.c (name_mangling_version): Remove.
	(flag_do_squangling): Likewise.
	(lang_f_options): Remove `squangle'.
	(unsupported_options): Add `squangle'.
	(cxx_decode_option): Issue a warning about uses of
	-fname-mangling-version.
	(finish_file): Remove old ABI support.
	* pt.c (check_explicit_specialization): Likewise.
	(tsubst_decl): Likewise.
	* rtti.c (init_rtti_processing): Likewise.
	(build_headof): Likewise.
	(get_tinfo_decl_dynamic): Likewise.
	(tinfo_from_decl): Likewise.
	(build_dynamic_cast_1): Likewise.
	(synthesize_tinfo_var): Likewise.
	* init.c (build_new): Allow enumeration types for the array-bounds
	in a direct-new-declarator.

	* semantics.c (finish_typeof): Resolve OFFSET_REFs.

	* pt.c (check_explicit_specialization): Copy TREE_PRIVATE and
	TREE_PROTECTED from the template being specialized.

2001-02-18  Jason Merrill  <jason@redhat.com>

	Do put the VTT parameter in DECL_ARGUMENTS.
	* cp-tree.h (struct cp_language_function): Add x_vtt_parm.
	(current_vtt_parm): New macro.
	(struct lang_decl_flags): Add has_vtt_parm_p, remove vtt_parm.
	(DECL_HAS_VTT_PARM_P): New macro.
	(DECL_VTT_PARM): Remove.
	(FUNCTION_FIRST_USER_PARMTYPE, FUNCTION_FIRST_USER_PARM): New macros.
	* decl.c (duplicate_decls): Only copy the operator code if
	appropriate.
	(start_function): Set current_vtt_parm.
	(lang_mark_tree): Don't mark vtt_parm.
	* decl2.c (maybe_retrofit_in_chrg): Do add the VTT parm to
	DECL_ARGUMENTS.  Set DECL_HAS_VTT_PARM_P.
	* class.c (build_clone): Maybe remove the VTT parm.
	* optimize.c (maybe_clone_body): Set up the VTT parm.
	* pt.c (copy_default_args_to_explicit_spec): Preserve the VTT parm.
	* call.c (build_over_call): Just allow the VTT arg.
	* method.c (make_thunk): Don't set DECL_VTT_PARM.
	(do_build_copy_constructor): Use FUNCTION_FIRST_USER_PARM.
	(synthesize_method): Use FUNCTION_FIRST_USER_PARMTYPE.
	* decl.c (grokdeclarator, copy_args_p, grok_ctor_properties): Likewise.
	* error.c (dump_function_decl): Likewise.
	* call.c (build_user_type_conversion_1,	convert_like_real): Abort

⌨️ 快捷键说明

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