summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.pt/spec28.C
blob: 3cecaf79de950f02ec316d39df5766e201a0eeb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// { dg-do assemble  }

template <class T>
bool f(T);

template <class T> 
struct S1 {
  typedef T X;
  friend bool f<>(const S1&);
};

template <class T>
struct S2 {
};

template <class T>
struct S2<S1<T> > {
  typedef typename S1<T>::X Y;
};

template <class T>
typename S2<S1<T> >::Y
f(const S1<T>&);

template struct S1<int>;