diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-04-24 03:50:31 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-04-24 03:50:31 +0000 |
commit | 7873fcd66afba8cb976f4a8d438c39af1dcd592e (patch) | |
tree | aef78361996e61e02ee5a14c7f9d6f1ab2a35d52 /gcc/cp/friend.c | |
parent | 8de62358358a2a0e0e40bc0813aecba662fa5a6e (diff) | |
download | gcc-7873fcd66afba8cb976f4a8d438c39af1dcd592e.tar.gz |
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
Diffstat (limited to 'gcc/cp/friend.c')
-rw-r--r-- | gcc/cp/friend.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c index 0ae9130b61a..ac73e5f4787 100644 --- a/gcc/cp/friend.c +++ b/gcc/cp/friend.c @@ -399,15 +399,11 @@ make_friend_class (tree type, tree friend_type, bool complain) DECL is the FUNCTION_DECL that the friend is. - FLAGS is just used for `grokclassfn'. - - QUALS say what special qualifies should apply to the object - pointed to by `this'. */ + FLAGS is just used for `grokclassfn'. */ tree do_friend (tree ctype, tree declarator, tree decl, tree attrlist, enum overload_flags flags, - cp_cv_quals quals, bool funcdef_flag) { /* Every decl that gets here is a friend of something. */ @@ -456,8 +452,7 @@ do_friend (tree ctype, tree declarator, tree decl, if (flags == NO_SPECIAL && declarator == cname) DECL_CONSTRUCTOR_P (decl) = 1; - /* This will set up DECL_ARGUMENTS for us. */ - grokclassfn (ctype, decl, flags, quals); + grokclassfn (ctype, decl, flags); if (friend_depth) { |