re PR c++/26912 (friend const member function specialization fails to compile)
authorMark Mitchell <mark@codesourcery.com>
Mon, 24 Apr 2006 03:50:31 +0000 (03:50 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Mon, 24 Apr 2006 03:50:31 +0000 (03:50 +0000)
commite2537f2c039f645cff41975b5a6ddcf26b7c4c79
treeaef78361996e61e02ee5a14c7f9d6f1ab2a35d52
parentd24b23bb89dee07f183cd19a4d77c77a31f511e1
re PR c++/26912 (friend const member function specialization fails to compile)

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.

From-SVN: r113213
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]