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 + -
显示快捷键?