Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/constexpr-conv1.C @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// PR c++/56041 // { dg-do compile { target c++11 } } template< class T, T v > struct integral_constant { using type = integral_constant<T,v>; using value_type = T; static constexpr T value = v; constexpr operator T ( ) noexcept { return value; } }; using true_type = integral_constant<bool, true>; using false_type = integral_constant<bool, false>; template< bool b, class T = void > struct enable_if { using type = T; }; template< class T > struct enable_if<false, T> { }; template< class T, class = typename enable_if< true_type{} // should compile; doesn't , T>::type > T try_it( ) { return T{}; } int main( ) { static_assert( true_type{} , "failed test 1!" ); static_assert( true_type{} , "failed test 2!" ); static_assert( ! false_type{} , "failed test 3!" ); static_assert( !! true_type{} , "failed test 4!" ); return try_it<int>(); }