// { dg-do assemble }
template <class T>
struct S;
template <class T>
class C
{
friend void S<T>::f();
int i;
};
template <class T>
struct S
{
void f() {
C<T> c;
c.i = 3;
}
};
template void S<int>::f();
// { dg-do assemble }
template <class T>
struct S;
template <class T>
class C
{
friend void S<T>::f();
int i;
};
template <class T>
struct S
{
void f() {
C<T> c;
c.i = 3;
}
};
template void S<int>::f();