// { dg-do compile { target c++11 } } template struct make_function_type { typedef R type(const ArgTypes&......); }; template struct is_same { static const bool value = false; }; template struct is_same { static const bool value = true; }; int a0[is_same::type, int(...)>::value? 1 : -1]; int a1[is_same::type, int(const float&...)>::value? 1 : -1]; int a2[is_same::type, int(const float&,...)>::value? 1 : -1]; int a3[is_same::type, int(const float&, double const&...)>::value? 1 : -1];