blob: ae2c603aa8bfaaed324abd70614646560ca60d1e [file] [log] [blame]
// From N1791
// { dg-do compile { target c++11 } }
class C;
typedef C Ct;
class X1 {
friend C; // OK: class C is a friend
};
class X2
{
friend Ct; // OK: class C is a friend
friend D; // { dg-error "" } no type-name D in scope
friend class D; // OK: elaborated-type-specifier declares new class
};
template <typename T> class R {
friend T;
};
R<C> rc; // class C is a friend of R<C>
R<int> Ri; // OK: "friend int;" is ignored