blob: 19e31795c247d9d74a4326556a4163689503fb22 [file] [log] [blame]
// PR c++/34488
// { dg-do compile }
// { dg-additional-options "-Wno-return-type" }
struct A
{
A ();
~A ();
A (const A &);
};
struct B
{
friend A::A ();
friend A::~A ();
friend A::A (const A &);
};
struct C
{
friend int C ();
friend int ~C (); // { dg-error "10:return type" }
// { dg-error "14:expected qualified name in friend decl" "" { target *-*-* } .-1 }
friend int C (const C &);
};
struct D
{
friend int D () {}
friend int ~D () {} // { dg-error "10:return type" }
// { dg-error "14:expected qualified name in friend decl" "" { target *-*-* } .-1 }
friend int D (const D &) {}
};
struct E
{
friend A::A () {} // { dg-error "cannot define member" }
friend A::~A () {} // { dg-error "cannot define member" }
friend A::A (const A &) {} // { dg-error "cannot define member" }
};