PR c++/26912
commit7873fcd66afba8cb976f4a8d438c39af1dcd592e
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Apr 2006 03:50:31 +0000 (24 03:50 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Apr 2006 03:50:31 +0000 (24 03:50 +0000)
treeaef78361996e61e02ee5a14c7f9d6f1ab2a35d52
parent8de62358358a2a0e0e40bc0813aecba662fa5a6e
PR c++/26912
* cp-tree.h (build_this_parm): Declare.
(grok_method_quals): Remove.
(build_memfn_type): Declare.
(build_artificial_parm): Declare.
(do_friend): Remove quals parameter.
* decl.c (build_this_parm): New function.
(grokfndecl): Use it.  Do not pass quals to grokclassfn.
(grokdeclarator): Rename quals to memfn_quals.  Avoid allocating
unnecessary TYPE_DECLs.  Correct qualification of member function
types.  Tidy.
* method.c (implicitly_declare_fn): Use build_this_parm.
* friend.c (do_friend): Remove quals parameter.
* decl2.c (grok_method_quals): Remove.
(build_memfn_type): New function.
(build_artificial_parm): Give it external linkage.
(grokclassfn): Remove quals parameter.  Do not build "this"
PARM_DECL here.
PR c++/26912
* g++.dg/template/friend41.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113213 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/friend.c
gcc/cp/method.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/friend41.C [new file with mode: 0644]