OSDN Git Service

1999-02-19 Mark Mitchell <mark@markmitchell.com>
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 21 Feb 1999 16:38:23 +0000 (16:38 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 21 Feb 1999 16:38:23 +0000 (16:38 +0000)
commit88e449ea996c99f10e531bb8adec9ef13346ebb4
tree9879deb76a90b4e04d62efe164cc744e1ef07a24
parentcaa63dd77f126d0fcb1146a70dae1835b42b1156
1999-02-19  Mark Mitchell  <mark@markmitchell.com>
* cp-tree.h (CLASSTYPE_METHOD_VEC): Adjust comment.
(fn_type_unification): Adjust prototype.
(lookup_fnfields_1): Declare.
* call.c (add_template_candidate_real): Adjust call to
fn_type_unification.
* class.c (add_method): Don't allow duplicate declarations of
constructors or destructors.
(resolve_address_of_overloaded_function): Remove unused variable.
Adjust call to fn_type_unification.
* decl.c (grokfndecl): Be more robust in the face of illegal
specializations.
* decl2.c (check_classfn): Remove hokey handling of member
templates.
* pt.c (determine_specialization): Improve comments.  Adjust to
handle template argument deduction as per the standard.
(check_explicit_specialization): Fix comment spacing.  Handle
type-conversion operators correctly.  Improve error-recovery.
(fn_type_unification): Remove EXTRA_FN_ARG parameter.
(get_bindings_real): Simplify handling of static members.
* search.c (lookup_fnfields_1): Make it have external linkage.
* typeck.c (compparms): Fix comment.
(build_unary_op): Don't try to figure out which template
specialization is being referred to when when the address-of
operator is used with a template function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25347 138bc75d-0d04-0410-961f-82ee72b054a4
18 files changed:
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/pt.c
gcc/cp/search.c
gcc/cp/typeck.c
gcc/testsuite/g++.old-deja/g++.other/redecl2.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/explicit1.C
gcc/testsuite/g++.old-deja/g++.pt/explicit2.C
gcc/testsuite/g++.old-deja/g++.pt/explicit26.C
gcc/testsuite/g++.old-deja/g++.pt/explicit27.C
gcc/testsuite/g++.old-deja/g++.pt/explicit28.C
gcc/testsuite/g++.old-deja/g++.pt/explicit30.C
gcc/testsuite/g++.old-deja/g++.pt/spec29.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/spec30.C [new file with mode: 0644]