[Bug c++/26912] [4.0/4.1/4.2 Regression] friend const member function specialization fails to compile

2006-04-16 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26912



[Bug c++/26912] [4.0/4.1/4.2 Regression] friend const member function specialization fails to compile

2006-04-23 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
   |dot org |
 Status|NEW |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26912



[Bug c++/26912] [4.0/4.1/4.2 Regression] friend const member function specialization fails to compile

2006-04-23 Thread mmitchel at gcc dot gnu dot org


--- Comment #2 from mmitchel at gcc dot gnu dot org  2006-04-24 03:50 
---
Subject: Bug 26912

Author: mmitchel
Date: Mon Apr 24 03:50:31 2006
New Revision: 113213

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113213
Log:
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.

Added:
trunk/gcc/testsuite/g++.dg/template/friend41.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/friend.c
trunk/gcc/cp/method.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26912



[Bug c++/26912] [4.0/4.1/4.2 Regression] friend const member function specialization fails to compile

2006-03-29 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-03-29 09:32 ---
Confirmed.

struct Foo {
   template int func() ;
};

class Bar {
   friend int Foo::func() const ; // line 6
};

is also invalidly accepted.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||accepts-invalid, rejects-
   ||valid
  Known to fail||3.3.5 4.0.3 4.1.0 4.2.0
  Known to work||3.4.6
   Last reconfirmed|-00-00 00:00:00 |2006-03-29 09:32:16
   date||
Summary|friend const member function|[4.0/4.1/4.2 Regression]
   |specialization fails to |friend const member function
   |compile |specialization fails to
   ||compile
   Target Milestone|--- |4.1.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26912