summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2023-04-15 00:46:57 +0200
committerBruno Haible <bruno@clisp.org>2023-04-15 00:46:57 +0200
commit9f18214697112de3d884afd93ac94965fb420ba6 (patch)
tree3fd15b7a0b3395b44688663b6f7a7c9cb56800f7 /lib
parent535e24dbce823a7d7459efe9df6f53fb9b4c5c10 (diff)
downloadgnulib-9f18214697112de3d884afd93ac94965fb420ba6.tar.gz
isnan: Fix compilation error in C++ mode on FreeBSD 13.2.
* lib/math.in.h (isnan): On FreeBSD 13.2 or newer, don't declare isnan through _GL_MATH_CXX_REAL_FLOATING_DECL_2.
Diffstat (limited to 'lib')
-rw-r--r--lib/math.in.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/math.in.h b/lib/math.in.h
index 1af4d54d2d..f841a1356e 100644
--- a/lib/math.in.h
+++ b/lib/math.in.h
@@ -2633,6 +2633,11 @@ _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan)
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, rpl_isnan, bool)
# define isnan rpl_isnan
# define GNULIB_NAMESPACE_LACKS_ISNAN 1
+# elif (defined __FreeBSD__ && __clang_major__ >= 14)
+ /* Neither of the two possible _GL_MATH_CXX_REAL_FLOATING_DECL_2 invocations
+ works. Inline functions are already present in /usr/include/c++/v1/math.h,
+ which comes from LLVM. */
+# define GNULIB_NAMESPACE_LACKS_ISNAN 1
# else
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, isnan, bool)
# endif