| // { dg-do run } | |
| // Origin: Mark Mitchell <mark@codesourcery.com> | |
| int i; | |
| template <class T> | |
| struct S { | |
| S() { ++i; } | |
| virtual void g() {} | |
| virtual void f(); | |
| static S s; | |
| }; | |
| template <class T> | |
| void S<T>::f() { | |
| s.f(); | |
| } | |
| S<int> si; | |
| template <class T> | |
| S<T> S<T>::s; | |
| int main () | |
| { | |
| si.g(); | |
| if (i != 2) | |
| return 1; | |
| else | |
| return 0; | |
| } |