1 // { dg-do compile }
2 
3 // Origin: gianni@mariani.ws
4 //       Wolfgang Bangerth <bangerth@ticam.utexas.edu>
5 
6 // PR c++/13289: ICE recursively instantiate static member data.
7 
8 template <int N> struct S {
9     static const int C;
10 };
11 
12 template <int N>
13 const int S<N>::C = S<(N+1)%2>::C;
14 
15 template struct S<1>;
16 
17