Files
clang-p2996/libcxx/test/numerics/c.math/cmath_isinf.pass.cpp
Eric Fiselier 95b0d0f888 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
2014-08-09 02:39:03 +00:00

30 lines
886 B
C++

//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <cmath>
// isinf
// XFAIL: linux
#include <cmath>
#include <type_traits>
#include <cassert>
int main()
{
#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);
}