From b5c1943ce9192c469037c31c81c0e2d032aaffba Mon Sep 17 00:00:00 2001 From: Daniel James Date: Thu, 12 Apr 2007 20:37:27 +0000 Subject: [PATCH] Merge in the intel gcc workaround from RC_1_34_0. [SVN r37428] --- hash/test/hash_float_test.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hash/test/hash_float_test.cpp b/hash/test/hash_float_test.cpp index 803cc49..12c083f 100644 --- a/hash/test/hash_float_test.cpp +++ b/hash/test/hash_float_test.cpp @@ -125,12 +125,17 @@ void float_tests(char const* name, T* = 0) BOOST_TEST(x1(half_max) != x1(three_quarter_max)); BOOST_TEST(x1(three_quarter_max) == x1(three_quarter_max)); +// Intel with gcc stdlib sometimes segfaults on calls to asin and acos. +#if !((defined(__INTEL_COMPILER) || defined(__ICL) || \ + defined(__ICC) || defined(__ECC)) && \ + (defined(__GLIBCPP__) || defined(__GLIBCXX__))) T v1 = asin((T) 1); T v2 = acos((T) 0); if(v1 == v2) BOOST_TEST(x1(v1) == x1(v2)); BOOST_TEST(x1(v1) == HASH_NAMESPACE::hash_value(v1)); BOOST_TEST(x1(v2) == HASH_NAMESPACE::hash_value(v2)); +#endif BOOST_TEST(x1(boost::hash_detail::limits::epsilon()) == HASH_NAMESPACE::hash_value(boost::hash_detail::limits::epsilon()));