// { dg-options "-std=gnu++0x" } 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];