diff options
author | Eric Fiselier <eric@efcs.ca> | 2014-08-09 02:39:03 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2014-08-09 02:39:03 +0000 |
commit | 95b0d0f888ad4ff4c64bc74e87f3b0e3d4175449 (patch) | |
tree | 892d55ac786841134dff012b89438f8de3248808 /libcxx/test/numerics/c.math/cmath.pass.cpp | |
parent | 6f147a0966e937cbfa1f9a93e21713c626340199 (diff) | |
download | bcm5719-llvm-95b0d0f888ad4ff4c64bc74e87f3b0e3d4175449.tar.gz bcm5719-llvm-95b0d0f888ad4ff4c64bc74e87f3b0e3d4175449.zip |
Mark math.h and cmath tests as xfail on linux.
These tests were marked as failing because the libc implementation does not
use the proper return type on certain math functions. There is other weirdness
that prevents us from defining our own version of these functions.
The failing tests in cmake were separated into their own files so that the rest
failures in the rest of the cmath tests were not hidden.
This was not done for the math.h test since we don't actually supply math.h
llvm-svn: 215275
Diffstat (limited to 'libcxx/test/numerics/c.math/cmath.pass.cpp')
-rw-r--r-- | libcxx/test/numerics/c.math/cmath.pass.cpp | 29 |
1 files changed, 3 insertions, 26 deletions
diff --git a/libcxx/test/numerics/c.math/cmath.pass.cpp b/libcxx/test/numerics/c.math/cmath.pass.cpp index 7c74d5b5b0b..973bea01515 100644 --- a/libcxx/test/numerics/c.math/cmath.pass.cpp +++ b/libcxx/test/numerics/c.math/cmath.pass.cpp @@ -9,6 +9,9 @@ // <cmath> +// NOTE: isinf and isnan are tested separately because they are expected to fail +// on linux. We don't want their expected failure to hide other failures in this file. + #include <cmath> #include <type_traits> #include <cassert> @@ -475,30 +478,6 @@ void test_isfinite() assert(std::isfinite(-1.0) == true); } -void test_isinf() -{ -#ifdef isinf -#error isinf defined -#endif - static_assert((std::is_same<decltype(std::isinf((float)0)), bool>::value), ""); - static_assert((std::is_same<decltype(std::isinf((double)0)), bool>::value), ""); - static_assert((std::is_same<decltype(std::isinf(0)), bool>::value), ""); - static_assert((std::is_same<decltype(std::isinf((long double)0)), bool>::value), ""); - assert(std::isinf(-1.0) == false); -} - -void test_isnan() -{ -#ifdef isnan -#error isnan defined -#endif - static_assert((std::is_same<decltype(std::isnan((float)0)), bool>::value), ""); - static_assert((std::is_same<decltype(std::isnan((double)0)), bool>::value), ""); - static_assert((std::is_same<decltype(std::isnan(0)), bool>::value), ""); - static_assert((std::is_same<decltype(std::isnan((long double)0)), bool>::value), ""); - assert(std::isnan(-1.0) == false); -} - void test_isnormal() { #ifdef isnormal @@ -1318,8 +1297,6 @@ int main() test_signbit(); test_fpclassify(); test_isfinite(); - test_isinf(); - test_isnan(); test_isnormal(); test_isgreater(); test_isgreaterequal(); |