// { dg-options "-std=gnu++0x" } template struct tuple { static const int value = 0; }; template<> struct tuple<> { static const int value = 1; }; template<> struct tuple { static const int value = 2; }; template<> struct tuple { static const int value = 3; }; template struct tuple { static const int value = 4; }; template<> struct tuple { static const int value = 5; }; int a0[tuple::value == 0? 1 : -1]; int a1[tuple<>::value == 1? 1 : -1]; int a2[tuple::value == 2? 1 : -1]; int a3[tuple::value == 3? 1 : -1]; int a4[tuple::value == 4? 1 : -1]; int a5[tuple::value == 5? 1 : -1];