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
8template <int N> struct S {
9    static const int C;
10};
11
12template <int N>
13const int S<N>::C = S<(N+1)%2>::C;
14
15template struct S<1>;
16
17