// { dg-do compile { target c++11 } } template struct tuple { static const int value = 0; }; template class... Metafunctions> struct tuple...> { static const int value = 1; }; template struct add_pointer; template struct add_reference; int a0[tuple::value == 0? 1 : -1]; int a1[tuple, add_pointer >::value == 0? 1 : -1]; int a2[tuple<>::value == 0? 1 : -1]; int a3[tuple >::value == 1? 1 : -1]; int a4[tuple, add_reference >::value == 1? 1 : -1];