changelog

来自「GCC编译器源代码」· 代码 · 共 1,838 行 · 第 1/5 页

TXT
1,838
字号
	member templates correctly.	* pt.c (is_member_template): Deal with class specializations	correctly. 	(tsubst): Handle "partial instantiation" of member templates	correctly. Wed Sep  3 12:30:24 1997  Mark Mitchell  <mmitchell@usa.net>	* pt.c (type_unification): Change calling squence to allow for	multiple levels of template parameters.	(tsubst_expr): Likewise.	(tsubst): Likewise.	(tsubst_copy): Likewise.	(instantiate_template): Likewise.	(unify): Likewise.	* call.c (build_overload_call_real): Use it.	(add_builtin_candidate): Use it.	(build_new_method_call): Use it.	* class.c (instantiate_type): Use it.	* decl.c (grokdeclarator): Use it.	* decl2.c (finish_file): Use it.	* method.c (build_overload_identifier): Use it.		* call.c (add_template_candidate):  Add additional parameter for	the function return type.  Call fn_type_unification istead of	type_unification.	(build_user_type_conversion_1): Handle member templates.	(build_new_function_call): Likewise.	(build_new_op): Likewise.	(build_new_method_call): Likewise.		* class.c (grow_method): Don't give an error message indicating 	that two member templates with the same name are ambiguous.	(finish_struct): Treat member template functions just like member 	functions.		* cp-tree.h (check_member_template): Add declaration.	(begin_member_template_processing): Likewise.	(end_member_template_processing): Likewise.	(fn_type_unification): Likewise.	(is_member_template): Likewise.	(tsubst): Change prototype.	(tsubst_expr): Likewise.	(tsubst_copy): Likewise.	(instantiate_template): Likewise.	(get_bindings): Likewise.	* decl.c (decls_match): Handle multiple levels of template	parameters. 	(pushdecl): Handle template type params just like other type	declarations. 	(push_class_level_binding): Return immediately if the	class_binding_level is NULL.	(grokfndecl): If check_classfn() returns a member_template, use	the result of the template, not the template itself.		* decl2.c (check_member_template): New function.  Check to see	that the entity declared to be a member template can be one.	(check_classfn): Allow redeclaration of member template functions	with different types; the new functions can be specializations or	explicit instantiations.		* error.c (dump_decl): Handle multiple levels of template	parameters. 	(dump_function_decl): Update to handle function	templates.	* lex.c (do_pending_inlines): Set up template parameter context	for member templates.	(process_next_inline): Likewise.	* method. (build_overload_identifier): Adjust for multiple levels	of template parameters.		* parse.y (fn.def2): Add member templates.	(component_decl_1): Likewise.	* pt.c (begin_member_template_processing): New function.	(end_member_template_processing): Likewise.	(is_member_template): Likewise.	(fn_type_unification): Likewise.	(current_template_parms): Return a vector of all the template	parms, not just the innermost level of parms.	(push_template_decl): Deal with the possibility of member	templates. 	(lookup_template_class): Likewise.	(uses_template_parms): Likewise.	(tsubst): Modify processing to TEMPLATE_TYPE_PARM and	TEMPLATE_CONST_PARM to deal with multiple levels of template	arguments.   Add processing of TEMPLATE_DECL to produce new	TEMPLATE_DECLs from old ones.	(do_decl_instantiation): Handle member templates.	* search.c (lookup_fnfields_1): Handle member template conversion	operators. 	* tree.c (cp_tree_equal): Check the levels, as well as the	indices, of TEMPLATE_CONST_PARMs.	* typeck.c (comptypes): Check the levels, as well as the indices,	fo TEMPLATE_TYPE_PARMs.	(build_x_function_call): Treat member templates like member	functions. 	Wed Sep  3 11:09:25 1997  Jason Merrill  <jason@yorick.cygnus.com>	* typeck.c (c_expand_return): Always convert_for_initialization 	before checking for returning a pointer to local.	* pt.c (type_unification): If strict and the function parm doesn't	use template parms, just compare types.Wed Sep  3 10:35:49 1997  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>	* method.c (build_overloaded_value): Replace direct call	to the floating point emulator with REAL_VALUE_TO_DECIMAL macro.Wed Sep  3 00:02:53 1997  Jason Merrill  <jason@yorick.cygnus.com>	* typeck.c (convert_arguments): Don't arbitrarily choose the first 	of a set of overloaded functions.Tue Sep  2 12:09:13 1997  Jason Merrill  <jason@yorick.cygnus.com>	* lex.c (real_yylex): Don't elide __FUNCTION__.	* method.c (build_overload_value): Add in_template parm.	(build_overload_int): Likewise.	(build_overload_identifier): Pass it.	* decl.c (duplicate_decls): Don't bash a previous template 	definition with a redeclaration.	* pt.c (unify): float doesn't match double.	* pt.c (do_type_instantiation): Handle getting a _TYPE or a 	TYPE_DECL.  Handle getting non-template types.	* parse.y (explicit_instantiation): Use typespec instead of	aggr template_type.Tue Sep  2 10:27:08 1997  Richard Henderson  <rth@cygnus.com>	* typeck.c (build_ptrmemfunc1): Clean up ptr->int cast warnings.Mon Sep  1 13:19:04 1997  Eugene Mamchits <eugin@ips.ras.ru>	* call.c (add_builtin_candidate): Add missing TREE_TYPE.	(compare_ics): Likewise.Mon Sep  1 13:19:04 1997  Jason Merrill  <jason@yorick.cygnus.com>	* call.c (joust): Warn about choosing one conversion op over 	another because of 'this' argument when the other return type is 	better.	(source_type): New fn.	* call.c (build_new_op): Strip leading REF_BIND from first operand	to builtin operator.	* decl2.c (mark_vtable_entries): Mark abort_fndecl as used when we	use its RTL.Thu Aug 28 09:45:23 1997  Jason Merrill  <jason@yorick.cygnus.com>	* call.c (null_ptr_cst_p): Remove support for (void*)0.Wed Aug 27 02:03:34 1997  Jeffrey A Law  (law@cygnus.com)	* typeck.c (expand_target_expr): Make definition match declaration.	* class.c (get_basefndecls): Make definition match declaration.Mon Aug 25 14:30:02 1997  Jason Merrill  <jason@yorick.cygnus.com>	* input.c (sub_getch): Eventually give up and release the input file.	* decl.c (cp_finish_decl): If #p i/i, put inline statics in the	right place.	* call.c (joust): Tweak message.Sat Aug 23 18:02:59 1997  Mark Mitchell  <mmitchell@usa.net>	* error.c (type_as_string): Put const/volatile on template type	parameters where appropriate.Sat Aug 23 17:47:22 1997  Jeffrey A Law  (law@cygnus.com)	* call.c (strictly_better): Make arguments unsigned ints.Thu Aug 21 18:48:44 1997  Jason Merrill  <jason@yorick.cygnus.com>	* lex.c (real_yylex): Refer to __complex instead of complex.Thu Aug 21 22:25:46 1997  J"orn Rennecke <amylaar@cygnus.co.uk>	* lex.c (real_yylex): Don't use getc directly.Wed Aug 20 17:25:08 1997  Jason Merrill  <jason@yorick.cygnus.com>	* call.c (is_subseq): Don't try to be clever.Wed Aug 20 03:13:36 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)	* parse.y, pt.c: Include "except.h".	* call.c, class.c, class.h, cp-tree.h, cvt.c, decl.c, decl2.c, 	error.c, except.c, expr.c, friend.c, g++spec.c, init.c, input.c, 	lex.c, lex.h, method.c, parse.y, pt.c, repo.c, rtti.c, search.c, 	sig.c, spew.c, tree.c, typeck.c, typeck2.c, xref.c: Finish 	prototyping.Wed Aug 20 01:34:40 1997  Jason Merrill  <jason@yorick.cygnus.com>	* decl2.c (mark_vtable_entries): Instead of replacing pure	virtuals with a reference to __pure_virtual, copy the decl and	change the RTL.Tue Aug 19 02:26:07 1997  Jason Merrill  <jason@yorick.cygnus.com>	* pt.c (lookup_nested_type_by_name): Handle typedef wierdness.	* pt.c (instantiate_class_template): Call repo_template_used	before finish_prevtable_vardecl.	* call.c (is_subseq): New fn.	(compare_ics): Use it.	* repo.c (finish_repo): Don't crash on no args.	* parse.y (named_complex_class_head_sans_basetype): Handle 	explicit global scope.	* decl2.c (handle_class_head): New fn.	* Makefile.in (BISON): Add -L flag.	* pt.c (unify): Add CONST_DECL case.Thu Aug 14 10:05:13 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>	* rtti.c (permanent_obstack): Fix decl to not be a pointer.	* cp-tree.h (report_type_mismatch): Add prototype.	* call.c (build_overload_call_real): Remove erroneous fourth	argument to report_type_mismatch.	(build_user_type_conversion_1): Remove erroneous second arg to	tourney.	(build_new_function_call): Likewise.	(build_object_call): Likewise.	(build_new_op): Likewise.	(build_new_method_call): Likewise.Wed Aug 13 19:19:25 1997  Jason Merrill  <jason@yorick.cygnus.com>	* error.c (dump_decl): Don't bother processing a function with no	DECL_LANG_SPECIFIC.	* method.c (emit_thunk): Call init_function_start in the macro case.Wed Aug 13 10:46:19 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)	* decl2.c (DEFAULT_VTABLE_THUNKS): Define to be 0 if not	defined and used to set flag_vtable_thunks.Tue Aug 12 20:13:57 1997  Jason Merrill  <jason@yorick.cygnus.com>	* parse.y: Don't clear the inlines from their obstack until they've 	all been processed.	* decl.c (duplicate_decls): Don't complain about exception 	specification mismatch if flag_exceptions is off.	* Makefile.in (BISON): bison, not byacc or bison -y.	(parse.c): Use bison flags.Mon Aug 11 15:01:56  1997  Marc Lehmann <pcg@goof.com>	* Make-lang.in (c++.distclean): Remove g++.c on make distclean.Sun Aug 10 12:06:09 1997  Paul Eggert  <eggert@twinsun.com>	* cp-tree.h: Replace STDIO_PROTO with PROTO in include files.	* cvt.c, error.c, except.c, expr.c, friend.c, init.c, rtti.c:	Include <stdio.h> before include files that formerly used STDIO_PROTO. 	* decl.c, g++spec.c, lex.c, method.c, repo.c:	Include	"config.h" first, as per autoconf manual.Fri Aug  8 11:47:48 1997  Jason Merrill  <jason@yorick.cygnus.com>	* decl.c (duplicate_decls): Tweak wording.	* lex.c (do_pending_defargs): Don't die if we see a default arg	that isn't a DEFAULT_ARG.	* error.c (dump_expr): Handle DEFAULT_ARG.	* decl2.c (lang_decode_option): Handle -fhandle-exceptions.	* lang-options.h: Add -fhandle-exceptions.	* class.c (build_vtable): vtables are artificial.	(prepare_fresh_vtable): Likewise.Wed Aug  6 11:02:36 1997  Jason Merrill  <jason@yorick.cygnus.com>	* cvt.c (ocp_convert): After converting to the target type, set 	LOOKUP_NO_CONVERSION.	* call.c (joust): Warn about potentially confusing promotion rules	with -Wsign-promo.	* cp-tree.h, lang-options.h, decl2.c: Support -Wsign-promo.Tue Aug  5 15:15:07 1997  Michael Meissner  <meissner@cygnus.com>	* exception.cc: Declare __terminate_func with noreturn attribute.Fri Aug  1 03:18:15 1997  Jason Merrill  <jason@yorick.cygnus.com>	* parse.y: Break out eat_saved_input, handle errors.	(function_try_block): Use compstmt instead of compstmt_or_error.Thu Jul 31 17:14:04 1997  Jason Merrill  <jason@yorick.cygnus.com>	* tree.c (build_cplus_new): Don't set TREE_ADDRESSABLE.Fri Jul  4 01:45:16 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>	* Make-lang.in (cplib2.txt, cplib2.ready): Instead of checking for	existence of cc1plus check whether $(LANGUAGES) contains C++.Wed Jul 30 13:04:21 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>	* method.c (do_build_copy_constructor): When copying an anonymous	union member loop around to handle nested anonymous unions.  Use	the offset of the member relative to the outer structure, not the	union.Tue Jul 29 21:17:29 1997  Jason Merrill  <jason@yorick.cygnus.com>	* call.c (resolve_args): New fn.	(build_new_function_call): Use it.	(build_object_call): Likewise.	(build_new_method_call): Likewise.Mon Jul 28 16:02:36 1997  Jason Merrill  <jason@yorick.cygnus.com>	* call.c (build_over_call): tsubst all default parms from templates.Wed Jul 23 13:36:25 1997  Jason Merrill  <jason@yorick.cygnus.com>	* decl.c (struct cp_function): Add static_labelno.	(push_cp_function_context): Save it.	(pop_cp_function_context): Restore it.Tue Jul 22 14:43:29 1997  Jason Merrill  <jason@yorick.cygnus.com>	* typeck.c (build_component_ref_1): Convert from reference.Tue Jul 22 11:06:23 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>	* parse.y (current_declspecs, prefix_attributes): Initialize to	NULL_TREE.	* parse.y (initdcl0): Make sure CURRENT_DECLSPECS is non-nil	before we try to force it to be a TREE_LIST.	(decl): Make sure $1.t is non-nil.Sun Jul 20 11:53:07 1997  Jason Merrill  <jason@yorick.cygnus.com>	* pt.c (uses_template_parms): Handle template first-parse codes.

⌨️ 快捷键说明

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