Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/static_assert2.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do compile { target c++11 } } template<int I> struct accept_evens { static_assert( I % 2 == 0, "I must be an even number"); // { dg-error "even number" } }; template<int I> struct accept_evens_ok { static_assert( I % 2 == 0, "I must be an even number"); }; template<int I> void accept_odds() { static_assert( I % 2 == 1, "I must be an odd number"); // { dg-error "odd number" } } template<int I> void accept_odds_ok() { static_assert( I % 2 == 1, "I must be an odd number"); } void f() { accept_odds<1>(); accept_odds<2>(); accept_odds<3>(); accept_odds_ok<5>(); accept_odds_ok<7>(); } accept_evens<0> ok0; accept_evens<1> error1; accept_evens<2> ok2; accept_evens_ok<4> ok4; accept_evens_ok<6> ok6;