Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/template/sfinae29.C @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | |
children |
line wrap: on
line source
// PR c++/90880 // { dg-do compile { target c++11 } } template <typename T, typename = void> struct status { static const bool value = false; }; template <typename T> struct status<T, decltype((void)T::member)> { static const bool value = true; }; struct s1{int member;}; struct s2{int _member;}; class c1{int member;}; class c2{int _member;}; void foo() { static_assert(status<s1>::value, "has member"); static_assert(!status<s2>::value, "has no member"); static_assert(!status<c1>::value, "has inaccessible member"); static_assert(!status<c2>::value, "has no member"); }