Skip to content

Commit 90db629

Browse files
authored
[libc++][C++03] cherry-pick #104773 (#158244)
1 parent 072cf57 commit 90db629

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

libcxx/include/__cxx03/__math/traits.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -121,16 +121,19 @@ _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI bool isnan(long double __x) _NOEX
121121

122122
// isnormal
123123

124-
template <class _A1, __enable_if_t<is_floating_point<_A1>::value, int> = 0>
125-
_LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI bool isnormal(_A1 __x) _NOEXCEPT {
126-
return __builtin_isnormal(__x);
127-
}
128-
129124
template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0>
130125
_LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI bool isnormal(_A1 __x) _NOEXCEPT {
131126
return __x != 0;
132127
}
133128

129+
_LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI bool isnormal(float __x) _NOEXCEPT { return __builtin_isnormal(__x); }
130+
131+
_LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI bool isnormal(double __x) _NOEXCEPT { return __builtin_isnormal(__x); }
132+
133+
_LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI bool isnormal(long double __x) _NOEXCEPT {
134+
return __builtin_isnormal(__x);
135+
}
136+
134137
// isgreater
135138

136139
template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0>

libcxx/test/std/numerics/c.math/isnormal.pass.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
// We don't control the implementation on windows
1212
// UNSUPPORTED: windows
1313

14-
// XFAIL: FROZEN-CXX03-HEADERS-FIXME
15-
1614
#include <cassert>
1715
#include <cmath>
1816
#include <limits>

0 commit comments

Comments
 (0)