From 65f8b152b7cd3d98cb1993d2df274b823c1063a4 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sun, 17 Apr 2005 11:26:39 +0000 Subject: [PATCH] Added explicit type casts to work around numeric_limits implementations that use nested enums (unnamed types) rather than bool members. [SVN r28290] --- test/limits_test.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/test/limits_test.cpp b/test/limits_test.cpp index bc377145..25c776e0 100644 --- a/test/limits_test.cpp +++ b/test/limits_test.cpp @@ -64,10 +64,10 @@ void test_integral_limits(const T &, const char * msg) << ", max: " << make_char_numeric_for_streaming((lim::max)()) << std::endl; - BOOST_CHECK(lim::is_specialized); - BOOST_CHECK(lim::is_integer); + BOOST_CHECK(static_cast(lim::is_specialized)); + BOOST_CHECK(static_cast(lim::is_integer)); // BOOST_CHECK(lim::is_modulo); - BOOST_CHECK((lim::min)() < (lim::max)()); + BOOST_CHECK(static_cast((lim::min)() < (lim::max)())); } template @@ -89,10 +89,10 @@ void test_float_limits(const T &, const char * msg) std::cout << "\nTesting " << msg << std::endl; typedef std::numeric_limits lim; - BOOST_CHECK(lim::is_specialized); - BOOST_CHECK(!lim::is_modulo); - BOOST_CHECK(!lim::is_integer); - BOOST_CHECK(lim::is_signed); + BOOST_CHECK(static_cast(lim::is_specialized)); + BOOST_CHECK(static_cast(!lim::is_modulo)); + BOOST_CHECK(static_cast(!lim::is_integer)); + BOOST_CHECK(static_cast(lim::is_signed)); const T infinity = lim::infinity(); const T qnan = lim::quiet_NaN(); @@ -115,9 +115,9 @@ void test_float_limits(const T &, const char * msg) BOOST_CHECK(lim::epsilon() > 0); if(lim::is_iec559) { - BOOST_CHECK(lim::has_infinity); - BOOST_CHECK(lim::has_quiet_NaN); - BOOST_CHECK(lim::has_signaling_NaN); + BOOST_CHECK(static_cast(lim::has_infinity)); + BOOST_CHECK(static_cast(lim::has_quiet_NaN)); + BOOST_CHECK(static_cast(lim::has_signaling_NaN)); } else { std::cout << "Does not claim IEEE conformance" << std::endl; }