diff options
author | Eric Fiselier <eric@efcs.ca> | 2018-12-17 20:17:43 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2018-12-17 20:17:43 +0000 |
commit | 2a58b11a8ae5dd832f81cf0bca083a25a68df9ea (patch) | |
tree | 8541b56be4f423a740f8cc81936ff4145b07817a /libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp | |
parent | 4ca86d289fccf91db3536b9204d350d342f600ad (diff) | |
download | bcm5719-llvm-2a58b11a8ae5dd832f81cf0bca083a25a68df9ea.tar.gz bcm5719-llvm-2a58b11a8ae5dd832f81cf0bca083a25a68df9ea.zip |
Fix FP comparisons when SSE isn't available
llvm-svn: 349387
Diffstat (limited to 'libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp')
-rw-r--r-- | libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp | 39 |
1 files changed, 24 insertions, 15 deletions
diff --git a/libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp b/libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp index 7e1b2d11064..e8341a07f80 100644 --- a/libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp +++ b/libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp @@ -14,6 +14,7 @@ #include <cassert> #include "hexfloat.h" +#include "truncate_fp.h" // convertible to int/float/double/etc template <class T, int N=0> @@ -807,23 +808,31 @@ void test_atanh() assert(atanh(0) == 0); } -void test_cbrt() -{ - static_assert((std::is_same<decltype(cbrt((float)0)), float>::value), ""); - static_assert((std::is_same<decltype(cbrt((bool)0)), double>::value), ""); - static_assert((std::is_same<decltype(cbrt((unsigned short)0)), double>::value), ""); - static_assert((std::is_same<decltype(cbrt((int)0)), double>::value), ""); - static_assert((std::is_same<decltype(cbrt((unsigned int)0)), double>::value), ""); - static_assert((std::is_same<decltype(cbrt((long)0)), double>::value), ""); - static_assert((std::is_same<decltype(cbrt((unsigned long)0)), double>::value), ""); - static_assert((std::is_same<decltype(cbrt((long long)0)), double>::value), ""); - static_assert((std::is_same<decltype(cbrt((unsigned long long)0)), double>::value), ""); - static_assert((std::is_same<decltype(cbrt((double)0)), double>::value), ""); - static_assert((std::is_same<decltype(cbrt((long double)0)), long double>::value), ""); +void test_cbrt() { + static_assert((std::is_same<decltype(cbrt((float) 0)), float>::value), ""); + static_assert((std::is_same<decltype(cbrt((bool) 0)), double>::value), ""); + static_assert((std::is_same<decltype(cbrt((unsigned short) 0)), + double>::value), ""); + static_assert((std::is_same<decltype(cbrt((int) 0)), double>::value), ""); + static_assert((std::is_same<decltype(cbrt((unsigned int) 0)), + double>::value), ""); + static_assert((std::is_same<decltype(cbrt((long) 0)), double>::value), ""); + static_assert((std::is_same<decltype(cbrt((unsigned long) 0)), + double>::value), ""); + static_assert((std::is_same<decltype(cbrt((long long) 0)), double>::value), + ""); + static_assert((std::is_same<decltype(cbrt((unsigned long long) 0)), + double>::value), ""); + static_assert((std::is_same<decltype(cbrt((double) 0)), double>::value), + ""); + static_assert((std::is_same<decltype(cbrt((long double) 0)), + long double>::value), ""); static_assert((std::is_same<decltype(cbrtf(0)), float>::value), ""); static_assert((std::is_same<decltype(cbrtl(0)), long double>::value), ""); - static_assert((std::is_same<decltype(cbrt(Ambiguous())), Ambiguous>::value), ""); - assert(cbrt(1) == 1); + static_assert((std::is_same<decltype(cbrt(Ambiguous())), Ambiguous>::value), + ""); + assert(truncate_fp(cbrt(1)) == 1); + } void test_copysign() |