This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/7522: access by friend function's default argument
- From: Christoph Ludwig <cludwig at cdc dot informatik dot tu-darmstadt dot de>
- To: bangerth at dealii dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org,nobody at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org
- Date: Fri, 17 Jan 2003 09:37:57 +0100
- Subject: Re: c++/7522: access by friend function's default argument
- References: <20021031172455.2183.qmail@sources.redhat.com>
Hi,
On Thu, Oct 31, 2002 at 05:24:55PM -0000, bangerth@dealii.org wrote:
> Synopsis: access by friend function's default argument
>
> State-Changed-From-To: feedback->analyzed
> State-Changed-By: bangerth
> State-Changed-When: Thu Oct 31 09:24:55 2002
> State-Changed-Why:
> One way or other, the example Christoph gave shows a bug,
> since treatment is not consistent. So I reset the state
> to "analyzed".
>
> And no, I don't know what is right and wrong here, sorry.
A post by John Spicer to comp.std.c++ (Thread: "Req Clarification:
private type used in parameter list of friend function") pointed me to
11.0.5 in the standard. There is an example that settles the question,
I think:
class A {
typedef int I; // private member
I f();
friend I g(I);
static I x;
};
A::I A::f() { return 0; }
A::I g(A::I p = A::x);
gcc 3.2.1 rejects the default argument in the last line, but according
to the standard the example is well formed.
Regards
Christoph
> http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7522