From: Bruno Haible Date: Fri, 14 Apr 2023 22:46:57 +0000 (+0200) Subject: isnan: Fix compilation error in C++ mode on FreeBSD 13.2. X-Git-Tag: v1.0~1443 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=9f18214697112de3d884afd93ac94965fb420ba6;p=gnulib.git 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. --- diff --git a/ChangeLog b/ChangeLog index 92de9cde22..6dd071ed10 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2023-04-14 Bruno Haible + + 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. + 2023-04-14 Bruno Haible filemode: Fix double-inclusion guard. 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