1 // PR c++/90881 2 // { dg-do compile { target c++11 } } 3 // { dg-options "-Wall" } 4 5 namespace std { 6 struct true_type { static const bool value = true; }; 7 struct false_type { static const bool value = false; }; 8 } 9 10 template <typename T, typename = void> struct status : std::false_type{}; 11 12 template <typename T> struct status<T, decltype(T::member, void())> : std::true_type {}; // { dg-bogus "left operand of comma operator has no effect" } 13 14 struct s1{int member;}; 15 struct s2{int _member;}; 16 17 int main(){ 18 static_assert(status<s1>::value, "has member"); 19 static_assert(!status<s2>::value, "has no member"); 20 } 21