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