1// { dg-do assemble  }
2
3template <class T>
4struct S1
5{
6};
7
8template <class T>
9struct S2
10{
11  typedef T* pointer_t;
12};
13
14int f(S2<S1<int> >::pointer_t p1, S2<S1<int> >::pointer_t p2)
15{
16  return (int) (p1 - p2);
17}
18