From a413220f8dc3d51aee79eabe6c2bfec33b8bf288 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 22 Jan 2018 19:43:28 +0200 Subject: [PATCH] Add more constexpr tests --- test/constexpr_test.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/constexpr_test.cpp b/test/constexpr_test.cpp index 2c50aa5..386ce66 100644 --- a/test/constexpr_test.cpp +++ b/test/constexpr_test.cpp @@ -6,6 +6,8 @@ #include #include #include +#include +#include #if !defined(BOOST_SYSTEM_HAS_CONSTEXPR) @@ -20,11 +22,34 @@ constexpr error_code e1( 1, system_category() ); BOOST_STATIC_ASSERT( e1.value() == 1 ); BOOST_STATIC_ASSERT( e1.category() == system_category() ); +BOOST_STATIC_ASSERT( e1 ); +BOOST_STATIC_ASSERT( e1 == e1 ); constexpr error_code e2( 2, generic_category() ); BOOST_STATIC_ASSERT( e2.value() == 2 ); BOOST_STATIC_ASSERT( e2.category() == generic_category() ); +BOOST_STATIC_ASSERT( e2 ); +BOOST_STATIC_ASSERT( e2 == e2 ); + +#if !BOOST_WORKAROUND(BOOST_GCC, < 80000) + +BOOST_STATIC_ASSERT( e1 != e2 ); + +#endif + +constexpr error_code e3; + +BOOST_STATIC_ASSERT( e3.value() == 0 ); +BOOST_STATIC_ASSERT( e3.category() == system_category() ); +BOOST_STATIC_ASSERT( !e3 ); +BOOST_STATIC_ASSERT( e3 == e3 ); + +#if !BOOST_WORKAROUND(BOOST_GCC, < 80000) + +BOOST_STATIC_ASSERT( e1 != e3 ); + +#endif int main() { @@ -34,6 +59,9 @@ int main() error_code e2_( 2, generic_category() ); BOOST_TEST_EQ( e2, e2_ ); + error_code e3_; + BOOST_TEST_EQ( e3, e3_ ); + return boost::report_errors(); }