diff --git a/test/bool.cpp b/test/bool.cpp index 8fad753..e023c0c 100644 --- a/test/bool.cpp +++ b/test/bool.cpp @@ -16,11 +16,18 @@ #include +#if defined(BOOST_NO_CXX11_CONSTEXPR) +#define CONSTEXPR_BOOL_TEST(c) +#else +#define CONSTEXPR_BOOL_TEST(c) { static_assert(bool_() == c, "Constexpr for bool_ failed"); } +#endif + #define BOOL_TEST(c) \ { MPL_ASSERT(( is_same< bool_::value_type, bool > )); } \ { MPL_ASSERT(( is_same< bool_, c##_ > )); } \ { MPL_ASSERT(( is_same< bool_::type, bool_ > )); } \ { MPL_ASSERT_RELATION( bool_::value, ==, c ); } \ + CONSTEXPR_BOOL_TEST(c) \ BOOST_TEST( bool_() == c ); \ /**/ diff --git a/test/integral_wrapper_test.hpp b/test/integral_wrapper_test.hpp index 4a08d3c..be31d50 100644 --- a/test/integral_wrapper_test.hpp +++ b/test/integral_wrapper_test.hpp @@ -28,6 +28,12 @@ /**/ #endif +#if defined(BOOST_NO_CXX11_CONSTEXPR) +#define CONSTEXPR_INTEGRAL_TEST(T, i) +#else +#define CONSTEXPR_INTEGRAL_TEST(T, i) { static_assert(T() == i, "Constexpr for integral constant failed"); } +#endif + #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) // agurt 20/nov/06: see http://article.gmane.org/gmane.comp.lib.boost.devel/151065 #define INTEGRAL_WRAPPER_TEST(unused1, i, T) \ @@ -39,6 +45,7 @@ { MPL_ASSERT(( is_same< next< borland_tested_type >::type, WRAPPER(T,i+1) > )); } \ { MPL_ASSERT(( is_same< prior< borland_tested_type >::type, WRAPPER(T,i-1) > )); } \ { MPL_ASSERT_RELATION( (borland_tested_type::value), ==, i ); } \ + CONSTEXPR_INTEGRAL_TEST(borland_tested_type, i) \ INTEGRAL_WRAPPER_RUNTIME_TEST(i, T) \ } \ /**/ @@ -49,6 +56,7 @@ { MPL_ASSERT(( is_same< next< WRAPPER(T,i) >::type, WRAPPER(T,i+1) > )); } \ { MPL_ASSERT(( is_same< prior< WRAPPER(T,i) >::type, WRAPPER(T,i-1) > )); } \ { MPL_ASSERT_RELATION( (WRAPPER(T,i)::value), ==, i ); } \ + CONSTEXPR_INTEGRAL_TEST(WRAPPER(T,i), i) \ INTEGRAL_WRAPPER_RUNTIME_TEST(i, T) \ /**/ #endif