Remove definition of std::fmaf from libc++. Fixes bug #18910. This function should come from the C standard library. As a drive-by fix, update the tests to remove a warning from -Wabsolute-value

llvm-svn: 202990
This commit is contained in:
Marshall Clow 2014-03-05 17:09:51 +00:00
parent 8f1439bd0c
commit f2c10e1340
2 changed files with 3 additions and 7 deletions

View File

@ -1208,11 +1208,7 @@ fdim(_A1 __x, _A2 __y) _NOEXCEPT
// fma
inline _LIBCPP_INLINE_VISIBILITY float fmaf(float __x, float __y, float __z) _NOEXCEPT {return (float)((double)__x*__y + __z);}
#ifndef FP_FAST_FMAF
#define FP_FAST_FMAF
#endif
using ::fmaf;
using ::fma;
inline _LIBCPP_INLINE_VISIBILITY float fma(float __x, float __y, float __z) _NOEXCEPT {return fmaf(__x, __y, __z);}

View File

@ -190,8 +190,8 @@ void test_fabs()
static_assert((std::is_same<decltype(std::fabs((unsigned long long)0)), double>::value), "");
static_assert((std::is_same<decltype(std::fabs((double)0)), double>::value), "");
static_assert((std::is_same<decltype(std::fabs((long double)0)), long double>::value), "");
static_assert((std::is_same<decltype(std::fabsf(0)), float>::value), "");
static_assert((std::is_same<decltype(std::fabsl(0)), long double>::value), "");
static_assert((std::is_same<decltype(std::fabsf(0.0f)), float>::value), "");
static_assert((std::is_same<decltype(std::fabsl(0.0L)), long double>::value), "");
assert(std::fabs(-1) == 1);
}