1 // { dg-do compile { target c++11 } }
2 template<int... Indexes>
3   struct _Index_tuple { };
4 
5 template<int _Num, typename _Tuple = _Index_tuple<> >
6 struct _Build_index_tuple;
7 
8 template<int _Num, int... _Indexes>
9 struct _Build_index_tuple<_Num, _Index_tuple<_Indexes...> >
10   : _Build_index_tuple<_Num - 1,
11                        _Index_tuple<_Indexes..., sizeof...(_Indexes)> >
12 {
13 };
14 
15 template<int... _Indexes>
16 struct _Build_index_tuple<0, _Index_tuple<_Indexes...> >
17 {
18   typedef _Index_tuple<_Indexes...> __type;
19 };
20