1// { dg-do assemble  }
2// Origin: Mark Mitchell <mark@codesourcery.com>
3
4template <class T>
5struct S {
6  int i;
7};
8
9template <class T>
10struct X {
11  static S<T> s[];
12};
13
14template <class T>
15S<T> X<T>::s[] = {
16  { 3 }
17};
18
19struct Z {};
20
21void f(S<Z>* s);
22
23void g()
24{
25  f (X<Z>::s);
26}
27
28