diff options
Diffstat (limited to 'gl/math.in.h')
-rw-r--r-- | gl/math.in.h | 722 |
1 files changed, 587 insertions, 135 deletions
diff --git a/gl/math.in.h b/gl/math.in.h index 7189819..f3d58af 100644 --- a/gl/math.in.h +++ b/gl/math.in.h | |||
@@ -1,19 +1,19 @@ | |||
1 | /* A GNU-like <math.h>. | 1 | /* A GNU-like <math.h>. |
2 | 2 | ||
3 | Copyright (C) 2002-2003, 2007-2013 Free Software Foundation, Inc. | 3 | Copyright (C) 2002-2003, 2007-2023 Free Software Foundation, Inc. |
4 | 4 | ||
5 | This program is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU Lesser General Public License as |
7 | the Free Software Foundation; either version 3 of the License, or | 7 | published by the Free Software Foundation; either version 2.1 of the |
8 | (at your option) any later version. | 8 | License, or (at your option) any later version. |
9 | 9 | ||
10 | This program is distributed in the hope that it will be useful, | 10 | This file is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU Lesser General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU Lesser General Public License |
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | 16 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
17 | 17 | ||
18 | #ifndef _@GUARD_PREFIX@_MATH_H | 18 | #ifndef _@GUARD_PREFIX@_MATH_H |
19 | 19 | ||
@@ -22,17 +22,50 @@ | |||
22 | #endif | 22 | #endif |
23 | @PRAGMA_COLUMNS@ | 23 | @PRAGMA_COLUMNS@ |
24 | 24 | ||
25 | #if defined _GL_INCLUDING_MATH_H | ||
26 | /* Special invocation convention: | ||
27 | - On FreeBSD 12.2 we have a sequence of nested includes | ||
28 | <math.h> -> <stdlib.h> -> <sys/wait.h> -> <sys/types.h> -> <sys/select.h> | ||
29 | -> <signal.h> -> <pthread.h> -> <stdlib.h> -> <math.h> | ||
30 | In this situation, the functions are not yet declared, therefore we cannot | ||
31 | provide the C++ aliases. */ | ||
32 | |||
33 | #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ | ||
34 | |||
35 | #else | ||
36 | /* Normal invocation convention. */ | ||
37 | |||
25 | /* The include_next requires a split double-inclusion guard. */ | 38 | /* The include_next requires a split double-inclusion guard. */ |
39 | #define _GL_INCLUDING_MATH_H | ||
26 | #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ | 40 | #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ |
41 | #undef _GL_INCLUDING_MATH_H | ||
27 | 42 | ||
28 | #ifndef _@GUARD_PREFIX@_MATH_H | 43 | #ifndef _@GUARD_PREFIX@_MATH_H |
29 | #define _@GUARD_PREFIX@_MATH_H | 44 | #define _@GUARD_PREFIX@_MATH_H |
30 | 45 | ||
46 | /* On OpenVMS, NAN, INFINITY, and HUGEVAL macros are defined in <fp.h>. */ | ||
47 | #if defined __VMS && ! defined NAN | ||
48 | # include <fp.h> | ||
49 | #endif | ||
50 | |||
51 | #ifndef _GL_INLINE_HEADER_BEGIN | ||
52 | #error "Please include config.h first." | ||
53 | #endif | ||
31 | _GL_INLINE_HEADER_BEGIN | 54 | _GL_INLINE_HEADER_BEGIN |
32 | #ifndef _GL_MATH_INLINE | 55 | #ifndef _GL_MATH_INLINE |
33 | # define _GL_MATH_INLINE _GL_INLINE | 56 | # define _GL_MATH_INLINE _GL_INLINE |
34 | #endif | 57 | #endif |
35 | 58 | ||
59 | /* The __attribute__ feature is available in gcc versions 2.5 and later. | ||
60 | The attribute __const__ was added in gcc 2.95. */ | ||
61 | #ifndef _GL_ATTRIBUTE_CONST | ||
62 | # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) || defined __clang__ | ||
63 | # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) | ||
64 | # else | ||
65 | # define _GL_ATTRIBUTE_CONST /* empty */ | ||
66 | # endif | ||
67 | #endif | ||
68 | |||
36 | /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ | 69 | /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ |
37 | 70 | ||
38 | /* The definition of _GL_ARG_NONNULL is copied here. */ | 71 | /* The definition of _GL_ARG_NONNULL is copied here. */ |
@@ -59,22 +92,24 @@ _gl_cxx_ ## func ## l (long double l) \ | |||
59 | { \ | 92 | { \ |
60 | return func (l); \ | 93 | return func (l); \ |
61 | } | 94 | } |
62 | # define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func) \ | 95 | # define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func,rpl_func,rettype) \ |
63 | inline int \ | 96 | _GL_BEGIN_NAMESPACE \ |
64 | func (float f) \ | 97 | inline rettype \ |
98 | rpl_func (float f) \ | ||
65 | { \ | 99 | { \ |
66 | return _gl_cxx_ ## func ## f (f); \ | 100 | return _gl_cxx_ ## func ## f (f); \ |
67 | } \ | 101 | } \ |
68 | inline int \ | 102 | inline rettype \ |
69 | func (double d) \ | 103 | rpl_func (double d) \ |
70 | { \ | 104 | { \ |
71 | return _gl_cxx_ ## func ## d (d); \ | 105 | return _gl_cxx_ ## func ## d (d); \ |
72 | } \ | 106 | } \ |
73 | inline int \ | 107 | inline rettype \ |
74 | func (long double l) \ | 108 | rpl_func (long double l) \ |
75 | { \ | 109 | { \ |
76 | return _gl_cxx_ ## func ## l (l); \ | 110 | return _gl_cxx_ ## func ## l (l); \ |
77 | } | 111 | } \ |
112 | _GL_END_NAMESPACE | ||
78 | #endif | 113 | #endif |
79 | 114 | ||
80 | /* Helper macros to define a portability warning for the | 115 | /* Helper macros to define a portability warning for the |
@@ -82,27 +117,27 @@ func (long double l) \ | |||
82 | classification macros with an argument of real-floating (that is, | 117 | classification macros with an argument of real-floating (that is, |
83 | one of float, double, or long double). */ | 118 | one of float, double, or long double). */ |
84 | #define _GL_WARN_REAL_FLOATING_DECL(func) \ | 119 | #define _GL_WARN_REAL_FLOATING_DECL(func) \ |
85 | _GL_MATH_INLINE int \ | 120 | _GL_MATH_INLINE int \ |
86 | rpl_ ## func ## f (float f) \ | 121 | _GL_WARN_ON_USE_ATTRIBUTE (#func " is unportable - " \ |
87 | { \ | 122 | "use gnulib module " #func " for portability") \ |
88 | return func (f); \ | 123 | rpl_ ## func ## f (float f) \ |
89 | } \ | 124 | { \ |
90 | _GL_MATH_INLINE int \ | 125 | return func (f); \ |
91 | rpl_ ## func ## d (double d) \ | 126 | } \ |
92 | { \ | 127 | _GL_MATH_INLINE int \ |
93 | return func (d); \ | 128 | _GL_WARN_ON_USE_ATTRIBUTE (#func " is unportable - " \ |
94 | } \ | 129 | "use gnulib module " #func " for portability") \ |
95 | _GL_MATH_INLINE int \ | 130 | rpl_ ## func ## d (double d) \ |
96 | rpl_ ## func ## l (long double l) \ | 131 | { \ |
97 | { \ | 132 | return func (d); \ |
98 | return func (l); \ | 133 | } \ |
99 | } \ | 134 | _GL_MATH_INLINE int \ |
100 | _GL_WARN_ON_USE (rpl_ ## func ## f, #func " is unportable - " \ | 135 | _GL_WARN_ON_USE_ATTRIBUTE (#func " is unportable - " \ |
101 | "use gnulib module " #func " for portability"); \ | 136 | "use gnulib module " #func " for portability") \ |
102 | _GL_WARN_ON_USE (rpl_ ## func ## d, #func " is unportable - " \ | 137 | rpl_ ## func ## l (long double l) \ |
103 | "use gnulib module " #func " for portability"); \ | 138 | { \ |
104 | _GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - " \ | 139 | return func (l); \ |
105 | "use gnulib module " #func " for portability") | 140 | } |
106 | #define _GL_WARN_REAL_FLOATING_IMPL(func, value) \ | 141 | #define _GL_WARN_REAL_FLOATING_IMPL(func, value) \ |
107 | (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value) \ | 142 | (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value) \ |
108 | : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value) \ | 143 | : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value) \ |
@@ -184,8 +219,17 @@ _NaN () | |||
184 | #endif | 219 | #endif |
185 | 220 | ||
186 | 221 | ||
187 | /* Ensure FP_ILOGB0 and FP_ILOGBNAN are defined. */ | 222 | #if defined FP_ILOGB0 && defined FP_ILOGBNAN |
188 | #if !(defined FP_ILOGB0 && defined FP_ILOGBNAN) | 223 | /* Ensure FP_ILOGB0 and FP_ILOGBNAN are correct. */ |
224 | # if defined __HAIKU__ | ||
225 | /* Haiku: match what ilogb() does */ | ||
226 | # undef FP_ILOGB0 | ||
227 | # undef FP_ILOGBNAN | ||
228 | # define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */ | ||
229 | # define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */ | ||
230 | # endif | ||
231 | #else | ||
232 | /* Ensure FP_ILOGB0 and FP_ILOGBNAN are defined. */ | ||
189 | # if defined __NetBSD__ || defined __sgi | 233 | # if defined __NetBSD__ || defined __sgi |
190 | /* NetBSD, IRIX 6.5: match what ilogb() does */ | 234 | /* NetBSD, IRIX 6.5: match what ilogb() does */ |
191 | # define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */ | 235 | # define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */ |
@@ -207,11 +251,20 @@ _NaN () | |||
207 | 251 | ||
208 | 252 | ||
209 | #if @GNULIB_ACOSF@ | 253 | #if @GNULIB_ACOSF@ |
210 | # if !@HAVE_ACOSF@ | 254 | # if @REPLACE_ACOSF@ |
211 | # undef acosf | 255 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
256 | # undef acosf | ||
257 | # define acosf rpl_acosf | ||
258 | # endif | ||
259 | _GL_FUNCDECL_RPL (acosf, float, (float x)); | ||
260 | _GL_CXXALIAS_RPL (acosf, float, (float x)); | ||
261 | # else | ||
262 | # if !@HAVE_ACOSF@ | ||
263 | # undef acosf | ||
212 | _GL_FUNCDECL_SYS (acosf, float, (float x)); | 264 | _GL_FUNCDECL_SYS (acosf, float, (float x)); |
213 | # endif | 265 | # endif |
214 | _GL_CXXALIAS_SYS (acosf, float, (float x)); | 266 | _GL_CXXALIAS_SYS (acosf, float, (float x)); |
267 | # endif | ||
215 | _GL_CXXALIASWARN (acosf); | 268 | _GL_CXXALIASWARN (acosf); |
216 | #elif defined GNULIB_POSIXCHECK | 269 | #elif defined GNULIB_POSIXCHECK |
217 | # undef acosf | 270 | # undef acosf |
@@ -227,7 +280,9 @@ _GL_WARN_ON_USE (acosf, "acosf is unportable - " | |||
227 | _GL_FUNCDECL_SYS (acosl, long double, (long double x)); | 280 | _GL_FUNCDECL_SYS (acosl, long double, (long double x)); |
228 | # endif | 281 | # endif |
229 | _GL_CXXALIAS_SYS (acosl, long double, (long double x)); | 282 | _GL_CXXALIAS_SYS (acosl, long double, (long double x)); |
283 | # if __GLIBC__ >= 2 | ||
230 | _GL_CXXALIASWARN (acosl); | 284 | _GL_CXXALIASWARN (acosl); |
285 | # endif | ||
231 | #elif defined GNULIB_POSIXCHECK | 286 | #elif defined GNULIB_POSIXCHECK |
232 | # undef acosl | 287 | # undef acosl |
233 | # if HAVE_RAW_DECL_ACOSL | 288 | # if HAVE_RAW_DECL_ACOSL |
@@ -238,11 +293,20 @@ _GL_WARN_ON_USE (acosl, "acosl is unportable - " | |||
238 | 293 | ||
239 | 294 | ||
240 | #if @GNULIB_ASINF@ | 295 | #if @GNULIB_ASINF@ |
241 | # if !@HAVE_ASINF@ | 296 | # if @REPLACE_ASINF@ |
242 | # undef asinf | 297 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
298 | # undef asinf | ||
299 | # define asinf rpl_asinf | ||
300 | # endif | ||
301 | _GL_FUNCDECL_RPL (asinf, float, (float x)); | ||
302 | _GL_CXXALIAS_RPL (asinf, float, (float x)); | ||
303 | # else | ||
304 | # if !@HAVE_ASINF@ | ||
305 | # undef asinf | ||
243 | _GL_FUNCDECL_SYS (asinf, float, (float x)); | 306 | _GL_FUNCDECL_SYS (asinf, float, (float x)); |
244 | # endif | 307 | # endif |
245 | _GL_CXXALIAS_SYS (asinf, float, (float x)); | 308 | _GL_CXXALIAS_SYS (asinf, float, (float x)); |
309 | # endif | ||
246 | _GL_CXXALIASWARN (asinf); | 310 | _GL_CXXALIASWARN (asinf); |
247 | #elif defined GNULIB_POSIXCHECK | 311 | #elif defined GNULIB_POSIXCHECK |
248 | # undef asinf | 312 | # undef asinf |
@@ -258,7 +322,9 @@ _GL_WARN_ON_USE (asinf, "asinf is unportable - " | |||
258 | _GL_FUNCDECL_SYS (asinl, long double, (long double x)); | 322 | _GL_FUNCDECL_SYS (asinl, long double, (long double x)); |
259 | # endif | 323 | # endif |
260 | _GL_CXXALIAS_SYS (asinl, long double, (long double x)); | 324 | _GL_CXXALIAS_SYS (asinl, long double, (long double x)); |
325 | # if __GLIBC__ >= 2 | ||
261 | _GL_CXXALIASWARN (asinl); | 326 | _GL_CXXALIASWARN (asinl); |
327 | # endif | ||
262 | #elif defined GNULIB_POSIXCHECK | 328 | #elif defined GNULIB_POSIXCHECK |
263 | # undef asinl | 329 | # undef asinl |
264 | # if HAVE_RAW_DECL_ASINL | 330 | # if HAVE_RAW_DECL_ASINL |
@@ -269,11 +335,20 @@ _GL_WARN_ON_USE (asinl, "asinl is unportable - " | |||
269 | 335 | ||
270 | 336 | ||
271 | #if @GNULIB_ATANF@ | 337 | #if @GNULIB_ATANF@ |
272 | # if !@HAVE_ATANF@ | 338 | # if @REPLACE_ATANF@ |
273 | # undef atanf | 339 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
340 | # undef atanf | ||
341 | # define atanf rpl_atanf | ||
342 | # endif | ||
343 | _GL_FUNCDECL_RPL (atanf, float, (float x)); | ||
344 | _GL_CXXALIAS_RPL (atanf, float, (float x)); | ||
345 | # else | ||
346 | # if !@HAVE_ATANF@ | ||
347 | # undef atanf | ||
274 | _GL_FUNCDECL_SYS (atanf, float, (float x)); | 348 | _GL_FUNCDECL_SYS (atanf, float, (float x)); |
275 | # endif | 349 | # endif |
276 | _GL_CXXALIAS_SYS (atanf, float, (float x)); | 350 | _GL_CXXALIAS_SYS (atanf, float, (float x)); |
351 | # endif | ||
277 | _GL_CXXALIASWARN (atanf); | 352 | _GL_CXXALIASWARN (atanf); |
278 | #elif defined GNULIB_POSIXCHECK | 353 | #elif defined GNULIB_POSIXCHECK |
279 | # undef atanf | 354 | # undef atanf |
@@ -289,7 +364,9 @@ _GL_WARN_ON_USE (atanf, "atanf is unportable - " | |||
289 | _GL_FUNCDECL_SYS (atanl, long double, (long double x)); | 364 | _GL_FUNCDECL_SYS (atanl, long double, (long double x)); |
290 | # endif | 365 | # endif |
291 | _GL_CXXALIAS_SYS (atanl, long double, (long double x)); | 366 | _GL_CXXALIAS_SYS (atanl, long double, (long double x)); |
367 | # if __GLIBC__ >= 2 | ||
292 | _GL_CXXALIASWARN (atanl); | 368 | _GL_CXXALIASWARN (atanl); |
369 | # endif | ||
293 | #elif defined GNULIB_POSIXCHECK | 370 | #elif defined GNULIB_POSIXCHECK |
294 | # undef atanl | 371 | # undef atanl |
295 | # if HAVE_RAW_DECL_ATANL | 372 | # if HAVE_RAW_DECL_ATANL |
@@ -300,11 +377,20 @@ _GL_WARN_ON_USE (atanl, "atanl is unportable - " | |||
300 | 377 | ||
301 | 378 | ||
302 | #if @GNULIB_ATAN2F@ | 379 | #if @GNULIB_ATAN2F@ |
303 | # if !@HAVE_ATAN2F@ | 380 | # if @REPLACE_ATAN2F@ |
304 | # undef atan2f | 381 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
382 | # undef atan2f | ||
383 | # define atan2f rpl_atan2f | ||
384 | # endif | ||
385 | _GL_FUNCDECL_RPL (atan2f, float, (float y, float x)); | ||
386 | _GL_CXXALIAS_RPL (atan2f, float, (float y, float x)); | ||
387 | # else | ||
388 | # if !@HAVE_ATAN2F@ | ||
389 | # undef atan2f | ||
305 | _GL_FUNCDECL_SYS (atan2f, float, (float y, float x)); | 390 | _GL_FUNCDECL_SYS (atan2f, float, (float y, float x)); |
306 | # endif | 391 | # endif |
307 | _GL_CXXALIAS_SYS (atan2f, float, (float y, float x)); | 392 | _GL_CXXALIAS_SYS (atan2f, float, (float y, float x)); |
393 | # endif | ||
308 | _GL_CXXALIASWARN (atan2f); | 394 | _GL_CXXALIASWARN (atan2f); |
309 | #elif defined GNULIB_POSIXCHECK | 395 | #elif defined GNULIB_POSIXCHECK |
310 | # undef atan2f | 396 | # undef atan2f |
@@ -343,7 +429,9 @@ _GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - " | |||
343 | _GL_FUNCDECL_SYS (cbrt, double, (double x)); | 429 | _GL_FUNCDECL_SYS (cbrt, double, (double x)); |
344 | # endif | 430 | # endif |
345 | _GL_CXXALIAS_SYS (cbrt, double, (double x)); | 431 | _GL_CXXALIAS_SYS (cbrt, double, (double x)); |
346 | _GL_CXXALIASWARN (cbrt); | 432 | # if __GLIBC__ >= 2 |
433 | _GL_CXXALIASWARN1 (cbrt, double, (double x)); | ||
434 | # endif | ||
347 | #elif defined GNULIB_POSIXCHECK | 435 | #elif defined GNULIB_POSIXCHECK |
348 | # undef cbrt | 436 | # undef cbrt |
349 | # if HAVE_RAW_DECL_CBRT | 437 | # if HAVE_RAW_DECL_CBRT |
@@ -366,7 +454,9 @@ _GL_FUNCDECL_SYS (cbrtl, long double, (long double x)); | |||
366 | # endif | 454 | # endif |
367 | _GL_CXXALIAS_SYS (cbrtl, long double, (long double x)); | 455 | _GL_CXXALIAS_SYS (cbrtl, long double, (long double x)); |
368 | # endif | 456 | # endif |
457 | # if __GLIBC__ >= 2 | ||
369 | _GL_CXXALIASWARN (cbrtl); | 458 | _GL_CXXALIASWARN (cbrtl); |
459 | # endif | ||
370 | #elif defined GNULIB_POSIXCHECK | 460 | #elif defined GNULIB_POSIXCHECK |
371 | # undef cbrtl | 461 | # undef cbrtl |
372 | # if HAVE_RAW_DECL_CBRTL | 462 | # if HAVE_RAW_DECL_CBRTL |
@@ -403,6 +493,7 @@ _GL_WARN_ON_USE (ceilf, "ceilf is unportable - " | |||
403 | #if @GNULIB_CEIL@ | 493 | #if @GNULIB_CEIL@ |
404 | # if @REPLACE_CEIL@ | 494 | # if @REPLACE_CEIL@ |
405 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | 495 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
496 | # undef ceil | ||
406 | # define ceil rpl_ceil | 497 | # define ceil rpl_ceil |
407 | # endif | 498 | # endif |
408 | _GL_FUNCDECL_RPL (ceil, double, (double x)); | 499 | _GL_FUNCDECL_RPL (ceil, double, (double x)); |
@@ -410,7 +501,9 @@ _GL_CXXALIAS_RPL (ceil, double, (double x)); | |||
410 | # else | 501 | # else |
411 | _GL_CXXALIAS_SYS (ceil, double, (double x)); | 502 | _GL_CXXALIAS_SYS (ceil, double, (double x)); |
412 | # endif | 503 | # endif |
413 | _GL_CXXALIASWARN (ceil); | 504 | # if __GLIBC__ >= 2 |
505 | _GL_CXXALIASWARN1 (ceil, double, (double x)); | ||
506 | # endif | ||
414 | #endif | 507 | #endif |
415 | 508 | ||
416 | #if @GNULIB_CEILL@ | 509 | #if @GNULIB_CEILL@ |
@@ -428,7 +521,9 @@ _GL_FUNCDECL_SYS (ceill, long double, (long double x)); | |||
428 | # endif | 521 | # endif |
429 | _GL_CXXALIAS_SYS (ceill, long double, (long double x)); | 522 | _GL_CXXALIAS_SYS (ceill, long double, (long double x)); |
430 | # endif | 523 | # endif |
524 | # if __GLIBC__ >= 2 | ||
431 | _GL_CXXALIASWARN (ceill); | 525 | _GL_CXXALIASWARN (ceill); |
526 | # endif | ||
432 | #elif defined GNULIB_POSIXCHECK | 527 | #elif defined GNULIB_POSIXCHECK |
433 | # undef ceill | 528 | # undef ceill |
434 | # if HAVE_RAW_DECL_CEILL | 529 | # if HAVE_RAW_DECL_CEILL |
@@ -440,6 +535,7 @@ _GL_WARN_ON_USE (ceill, "ceill is unportable - " | |||
440 | 535 | ||
441 | #if @GNULIB_COPYSIGNF@ | 536 | #if @GNULIB_COPYSIGNF@ |
442 | # if !@HAVE_DECL_COPYSIGNF@ | 537 | # if !@HAVE_DECL_COPYSIGNF@ |
538 | # undef copysignf | ||
443 | _GL_FUNCDECL_SYS (copysignf, float, (float x, float y)); | 539 | _GL_FUNCDECL_SYS (copysignf, float, (float x, float y)); |
444 | # endif | 540 | # endif |
445 | _GL_CXXALIAS_SYS (copysignf, float, (float x, float y)); | 541 | _GL_CXXALIAS_SYS (copysignf, float, (float x, float y)); |
@@ -457,7 +553,9 @@ _GL_WARN_ON_USE (copysignf, "copysignf is unportable - " | |||
457 | _GL_FUNCDECL_SYS (copysign, double, (double x, double y)); | 553 | _GL_FUNCDECL_SYS (copysign, double, (double x, double y)); |
458 | # endif | 554 | # endif |
459 | _GL_CXXALIAS_SYS (copysign, double, (double x, double y)); | 555 | _GL_CXXALIAS_SYS (copysign, double, (double x, double y)); |
460 | _GL_CXXALIASWARN (copysign); | 556 | # if __GLIBC__ >= 2 |
557 | _GL_CXXALIASWARN1 (copysign, double, (double x, double y)); | ||
558 | # endif | ||
461 | #elif defined GNULIB_POSIXCHECK | 559 | #elif defined GNULIB_POSIXCHECK |
462 | # undef copysign | 560 | # undef copysign |
463 | # if HAVE_RAW_DECL_COPYSIGN | 561 | # if HAVE_RAW_DECL_COPYSIGN |
@@ -471,7 +569,9 @@ _GL_WARN_ON_USE (copysign, "copysign is unportable - " | |||
471 | _GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y)); | 569 | _GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y)); |
472 | # endif | 570 | # endif |
473 | _GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y)); | 571 | _GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y)); |
572 | # if __GLIBC__ >= 2 | ||
474 | _GL_CXXALIASWARN (copysignl); | 573 | _GL_CXXALIASWARN (copysignl); |
574 | # endif | ||
475 | #elif defined GNULIB_POSIXCHECK | 575 | #elif defined GNULIB_POSIXCHECK |
476 | # undef copysignl | 576 | # undef copysignl |
477 | # if HAVE_RAW_DECL_COPYSIGNL | 577 | # if HAVE_RAW_DECL_COPYSIGNL |
@@ -482,11 +582,20 @@ _GL_WARN_ON_USE (copysign, "copysignl is unportable - " | |||
482 | 582 | ||
483 | 583 | ||
484 | #if @GNULIB_COSF@ | 584 | #if @GNULIB_COSF@ |
485 | # if !@HAVE_COSF@ | 585 | # if @REPLACE_COSF@ |
486 | # undef cosf | 586 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
587 | # undef cosf | ||
588 | # define cosf rpl_cosf | ||
589 | # endif | ||
590 | _GL_FUNCDECL_RPL (cosf, float, (float x)); | ||
591 | _GL_CXXALIAS_RPL (cosf, float, (float x)); | ||
592 | # else | ||
593 | # if !@HAVE_COSF@ | ||
594 | # undef cosf | ||
487 | _GL_FUNCDECL_SYS (cosf, float, (float x)); | 595 | _GL_FUNCDECL_SYS (cosf, float, (float x)); |
488 | # endif | 596 | # endif |
489 | _GL_CXXALIAS_SYS (cosf, float, (float x)); | 597 | _GL_CXXALIAS_SYS (cosf, float, (float x)); |
598 | # endif | ||
490 | _GL_CXXALIASWARN (cosf); | 599 | _GL_CXXALIASWARN (cosf); |
491 | #elif defined GNULIB_POSIXCHECK | 600 | #elif defined GNULIB_POSIXCHECK |
492 | # undef cosf | 601 | # undef cosf |
@@ -502,7 +611,9 @@ _GL_WARN_ON_USE (cosf, "cosf is unportable - " | |||
502 | _GL_FUNCDECL_SYS (cosl, long double, (long double x)); | 611 | _GL_FUNCDECL_SYS (cosl, long double, (long double x)); |
503 | # endif | 612 | # endif |
504 | _GL_CXXALIAS_SYS (cosl, long double, (long double x)); | 613 | _GL_CXXALIAS_SYS (cosl, long double, (long double x)); |
614 | # if __GLIBC__ >= 2 | ||
505 | _GL_CXXALIASWARN (cosl); | 615 | _GL_CXXALIASWARN (cosl); |
616 | # endif | ||
506 | #elif defined GNULIB_POSIXCHECK | 617 | #elif defined GNULIB_POSIXCHECK |
507 | # undef cosl | 618 | # undef cosl |
508 | # if HAVE_RAW_DECL_COSL | 619 | # if HAVE_RAW_DECL_COSL |
@@ -513,11 +624,20 @@ _GL_WARN_ON_USE (cosl, "cosl is unportable - " | |||
513 | 624 | ||
514 | 625 | ||
515 | #if @GNULIB_COSHF@ | 626 | #if @GNULIB_COSHF@ |
516 | # if !@HAVE_COSHF@ | 627 | # if @REPLACE_COSHF@ |
517 | # undef coshf | 628 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
629 | # undef coshf | ||
630 | # define coshf rpl_coshf | ||
631 | # endif | ||
632 | _GL_FUNCDECL_RPL (coshf, float, (float x)); | ||
633 | _GL_CXXALIAS_RPL (coshf, float, (float x)); | ||
634 | # else | ||
635 | # if !@HAVE_COSHF@ | ||
636 | # undef coshf | ||
518 | _GL_FUNCDECL_SYS (coshf, float, (float x)); | 637 | _GL_FUNCDECL_SYS (coshf, float, (float x)); |
519 | # endif | 638 | # endif |
520 | _GL_CXXALIAS_SYS (coshf, float, (float x)); | 639 | _GL_CXXALIAS_SYS (coshf, float, (float x)); |
640 | # endif | ||
521 | _GL_CXXALIASWARN (coshf); | 641 | _GL_CXXALIASWARN (coshf); |
522 | #elif defined GNULIB_POSIXCHECK | 642 | #elif defined GNULIB_POSIXCHECK |
523 | # undef coshf | 643 | # undef coshf |
@@ -529,11 +649,20 @@ _GL_WARN_ON_USE (coshf, "coshf is unportable - " | |||
529 | 649 | ||
530 | 650 | ||
531 | #if @GNULIB_EXPF@ | 651 | #if @GNULIB_EXPF@ |
532 | # if !@HAVE_EXPF@ | 652 | # if @REPLACE_EXPF@ |
533 | # undef expf | 653 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
654 | # undef expf | ||
655 | # define expf rpl_expf | ||
656 | # endif | ||
657 | _GL_FUNCDECL_RPL (expf, float, (float x)); | ||
658 | _GL_CXXALIAS_RPL (expf, float, (float x)); | ||
659 | # else | ||
660 | # if !@HAVE_EXPF@ | ||
661 | # undef expf | ||
534 | _GL_FUNCDECL_SYS (expf, float, (float x)); | 662 | _GL_FUNCDECL_SYS (expf, float, (float x)); |
535 | # endif | 663 | # endif |
536 | _GL_CXXALIAS_SYS (expf, float, (float x)); | 664 | _GL_CXXALIAS_SYS (expf, float, (float x)); |
665 | # endif | ||
537 | _GL_CXXALIASWARN (expf); | 666 | _GL_CXXALIASWARN (expf); |
538 | #elif defined GNULIB_POSIXCHECK | 667 | #elif defined GNULIB_POSIXCHECK |
539 | # undef expf | 668 | # undef expf |
@@ -544,12 +673,23 @@ _GL_WARN_ON_USE (expf, "expf is unportable - " | |||
544 | #endif | 673 | #endif |
545 | 674 | ||
546 | #if @GNULIB_EXPL@ | 675 | #if @GNULIB_EXPL@ |
547 | # if !@HAVE_EXPL@ || !@HAVE_DECL_EXPL@ | 676 | # if @REPLACE_EXPL@ |
548 | # undef expl | 677 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
678 | # undef expl | ||
679 | # define expl rpl_expl | ||
680 | # endif | ||
681 | _GL_FUNCDECL_RPL (expl, long double, (long double x)); | ||
682 | _GL_CXXALIAS_RPL (expl, long double, (long double x)); | ||
683 | # else | ||
684 | # if !@HAVE_EXPL@ || !@HAVE_DECL_EXPL@ | ||
685 | # undef expl | ||
549 | _GL_FUNCDECL_SYS (expl, long double, (long double x)); | 686 | _GL_FUNCDECL_SYS (expl, long double, (long double x)); |
550 | # endif | 687 | # endif |
551 | _GL_CXXALIAS_SYS (expl, long double, (long double x)); | 688 | _GL_CXXALIAS_SYS (expl, long double, (long double x)); |
689 | # endif | ||
690 | # if __GLIBC__ >= 2 | ||
552 | _GL_CXXALIASWARN (expl); | 691 | _GL_CXXALIASWARN (expl); |
692 | # endif | ||
553 | #elif defined GNULIB_POSIXCHECK | 693 | #elif defined GNULIB_POSIXCHECK |
554 | # undef expl | 694 | # undef expl |
555 | # if HAVE_RAW_DECL_EXPL | 695 | # if HAVE_RAW_DECL_EXPL |
@@ -587,7 +727,9 @@ _GL_FUNCDECL_SYS (exp2, double, (double x)); | |||
587 | # endif | 727 | # endif |
588 | _GL_CXXALIAS_SYS (exp2, double, (double x)); | 728 | _GL_CXXALIAS_SYS (exp2, double, (double x)); |
589 | # endif | 729 | # endif |
590 | _GL_CXXALIASWARN (exp2); | 730 | # if __GLIBC__ >= 2 |
731 | _GL_CXXALIASWARN1 (exp2, double, (double x)); | ||
732 | # endif | ||
591 | #elif defined GNULIB_POSIXCHECK | 733 | #elif defined GNULIB_POSIXCHECK |
592 | # undef exp2 | 734 | # undef exp2 |
593 | # if HAVE_RAW_DECL_EXP2 | 735 | # if HAVE_RAW_DECL_EXP2 |
@@ -611,7 +753,9 @@ _GL_FUNCDECL_SYS (exp2l, long double, (long double x)); | |||
611 | # endif | 753 | # endif |
612 | _GL_CXXALIAS_SYS (exp2l, long double, (long double x)); | 754 | _GL_CXXALIAS_SYS (exp2l, long double, (long double x)); |
613 | # endif | 755 | # endif |
756 | # if __GLIBC__ >= 2 | ||
614 | _GL_CXXALIASWARN (exp2l); | 757 | _GL_CXXALIASWARN (exp2l); |
758 | # endif | ||
615 | #elif defined GNULIB_POSIXCHECK | 759 | #elif defined GNULIB_POSIXCHECK |
616 | # undef exp2l | 760 | # undef exp2l |
617 | # if HAVE_RAW_DECL_EXP2L | 761 | # if HAVE_RAW_DECL_EXP2L |
@@ -658,7 +802,9 @@ _GL_FUNCDECL_SYS (expm1, double, (double x)); | |||
658 | # endif | 802 | # endif |
659 | _GL_CXXALIAS_SYS (expm1, double, (double x)); | 803 | _GL_CXXALIAS_SYS (expm1, double, (double x)); |
660 | # endif | 804 | # endif |
661 | _GL_CXXALIASWARN (expm1); | 805 | # if __GLIBC__ >= 2 |
806 | _GL_CXXALIASWARN1 (expm1, double, (double x)); | ||
807 | # endif | ||
662 | #elif defined GNULIB_POSIXCHECK | 808 | #elif defined GNULIB_POSIXCHECK |
663 | # undef expm1 | 809 | # undef expm1 |
664 | # if HAVE_RAW_DECL_EXPM1 | 810 | # if HAVE_RAW_DECL_EXPM1 |
@@ -668,12 +814,25 @@ _GL_WARN_ON_USE (expm1, "expm1 is unportable - " | |||
668 | #endif | 814 | #endif |
669 | 815 | ||
670 | #if @GNULIB_EXPM1L@ | 816 | #if @GNULIB_EXPM1L@ |
671 | # if !@HAVE_DECL_EXPM1L@ | 817 | # if @REPLACE_EXPM1L@ |
672 | # undef expm1l | 818 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
819 | # undef expm1l | ||
820 | # define expm1l rpl_expm1l | ||
821 | # endif | ||
822 | _GL_FUNCDECL_RPL (expm1l, long double, (long double x)); | ||
823 | _GL_CXXALIAS_RPL (expm1l, long double, (long double x)); | ||
824 | # else | ||
825 | # if !@HAVE_DECL_EXPM1L@ | ||
826 | # undef expm1l | ||
827 | # if !(defined __cplusplus && defined _AIX) | ||
673 | _GL_FUNCDECL_SYS (expm1l, long double, (long double x)); | 828 | _GL_FUNCDECL_SYS (expm1l, long double, (long double x)); |
674 | # endif | 829 | # endif |
830 | # endif | ||
675 | _GL_CXXALIAS_SYS (expm1l, long double, (long double x)); | 831 | _GL_CXXALIAS_SYS (expm1l, long double, (long double x)); |
832 | # endif | ||
833 | # if __GLIBC__ >= 2 | ||
676 | _GL_CXXALIASWARN (expm1l); | 834 | _GL_CXXALIASWARN (expm1l); |
835 | # endif | ||
677 | #elif defined GNULIB_POSIXCHECK | 836 | #elif defined GNULIB_POSIXCHECK |
678 | # undef expm1l | 837 | # undef expm1l |
679 | # if HAVE_RAW_DECL_EXPM1L | 838 | # if HAVE_RAW_DECL_EXPM1L |
@@ -689,7 +848,9 @@ _GL_WARN_ON_USE (expm1l, "expm1l is unportable - " | |||
689 | _GL_FUNCDECL_SYS (fabsf, float, (float x)); | 848 | _GL_FUNCDECL_SYS (fabsf, float, (float x)); |
690 | # endif | 849 | # endif |
691 | _GL_CXXALIAS_SYS (fabsf, float, (float x)); | 850 | _GL_CXXALIAS_SYS (fabsf, float, (float x)); |
851 | # if __GLIBC__ >= 2 | ||
692 | _GL_CXXALIASWARN (fabsf); | 852 | _GL_CXXALIASWARN (fabsf); |
853 | # endif | ||
693 | #elif defined GNULIB_POSIXCHECK | 854 | #elif defined GNULIB_POSIXCHECK |
694 | # undef fabsf | 855 | # undef fabsf |
695 | # if HAVE_RAW_DECL_FABSF | 856 | # if HAVE_RAW_DECL_FABSF |
@@ -713,7 +874,9 @@ _GL_FUNCDECL_SYS (fabsl, long double, (long double x)); | |||
713 | # endif | 874 | # endif |
714 | _GL_CXXALIAS_SYS (fabsl, long double, (long double x)); | 875 | _GL_CXXALIAS_SYS (fabsl, long double, (long double x)); |
715 | # endif | 876 | # endif |
877 | # if __GLIBC__ >= 2 | ||
716 | _GL_CXXALIASWARN (fabsl); | 878 | _GL_CXXALIASWARN (fabsl); |
879 | # endif | ||
717 | #elif defined GNULIB_POSIXCHECK | 880 | #elif defined GNULIB_POSIXCHECK |
718 | # undef fabsl | 881 | # undef fabsl |
719 | # if HAVE_RAW_DECL_FABSL | 882 | # if HAVE_RAW_DECL_FABSL |
@@ -750,6 +913,7 @@ _GL_WARN_ON_USE (floorf, "floorf is unportable - " | |||
750 | #if @GNULIB_FLOOR@ | 913 | #if @GNULIB_FLOOR@ |
751 | # if @REPLACE_FLOOR@ | 914 | # if @REPLACE_FLOOR@ |
752 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | 915 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
916 | # undef floor | ||
753 | # define floor rpl_floor | 917 | # define floor rpl_floor |
754 | # endif | 918 | # endif |
755 | _GL_FUNCDECL_RPL (floor, double, (double x)); | 919 | _GL_FUNCDECL_RPL (floor, double, (double x)); |
@@ -757,7 +921,9 @@ _GL_CXXALIAS_RPL (floor, double, (double x)); | |||
757 | # else | 921 | # else |
758 | _GL_CXXALIAS_SYS (floor, double, (double x)); | 922 | _GL_CXXALIAS_SYS (floor, double, (double x)); |
759 | # endif | 923 | # endif |
760 | _GL_CXXALIASWARN (floor); | 924 | # if __GLIBC__ >= 2 |
925 | _GL_CXXALIASWARN1 (floor, double, (double x)); | ||
926 | # endif | ||
761 | #endif | 927 | #endif |
762 | 928 | ||
763 | #if @GNULIB_FLOORL@ | 929 | #if @GNULIB_FLOORL@ |
@@ -775,7 +941,9 @@ _GL_FUNCDECL_SYS (floorl, long double, (long double x)); | |||
775 | # endif | 941 | # endif |
776 | _GL_CXXALIAS_SYS (floorl, long double, (long double x)); | 942 | _GL_CXXALIAS_SYS (floorl, long double, (long double x)); |
777 | # endif | 943 | # endif |
944 | # if __GLIBC__ >= 2 | ||
778 | _GL_CXXALIASWARN (floorl); | 945 | _GL_CXXALIASWARN (floorl); |
946 | # endif | ||
779 | #elif defined GNULIB_POSIXCHECK | 947 | #elif defined GNULIB_POSIXCHECK |
780 | # undef floorl | 948 | # undef floorl |
781 | # if HAVE_RAW_DECL_FLOORL | 949 | # if HAVE_RAW_DECL_FLOORL |
@@ -795,6 +963,7 @@ _GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z)); | |||
795 | _GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z)); | 963 | _GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z)); |
796 | # else | 964 | # else |
797 | # if !@HAVE_FMAF@ | 965 | # if !@HAVE_FMAF@ |
966 | # undef fmaf | ||
798 | _GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z)); | 967 | _GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z)); |
799 | # endif | 968 | # endif |
800 | _GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z)); | 969 | _GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z)); |
@@ -818,11 +987,14 @@ _GL_FUNCDECL_RPL (fma, double, (double x, double y, double z)); | |||
818 | _GL_CXXALIAS_RPL (fma, double, (double x, double y, double z)); | 987 | _GL_CXXALIAS_RPL (fma, double, (double x, double y, double z)); |
819 | # else | 988 | # else |
820 | # if !@HAVE_FMA@ | 989 | # if !@HAVE_FMA@ |
990 | # undef fma | ||
821 | _GL_FUNCDECL_SYS (fma, double, (double x, double y, double z)); | 991 | _GL_FUNCDECL_SYS (fma, double, (double x, double y, double z)); |
822 | # endif | 992 | # endif |
823 | _GL_CXXALIAS_SYS (fma, double, (double x, double y, double z)); | 993 | _GL_CXXALIAS_SYS (fma, double, (double x, double y, double z)); |
824 | # endif | 994 | # endif |
825 | _GL_CXXALIASWARN (fma); | 995 | # if __GLIBC__ >= 2 |
996 | _GL_CXXALIASWARN1 (fma, double, (double x, double y, double z)); | ||
997 | # endif | ||
826 | #elif defined GNULIB_POSIXCHECK | 998 | #elif defined GNULIB_POSIXCHECK |
827 | # undef fma | 999 | # undef fma |
828 | # if HAVE_RAW_DECL_FMA | 1000 | # if HAVE_RAW_DECL_FMA |
@@ -844,13 +1016,17 @@ _GL_CXXALIAS_RPL (fmal, long double, | |||
844 | # else | 1016 | # else |
845 | # if !@HAVE_FMAL@ | 1017 | # if !@HAVE_FMAL@ |
846 | # undef fmal | 1018 | # undef fmal |
1019 | # if !(defined __cplusplus && defined _AIX) | ||
847 | _GL_FUNCDECL_SYS (fmal, long double, | 1020 | _GL_FUNCDECL_SYS (fmal, long double, |
848 | (long double x, long double y, long double z)); | 1021 | (long double x, long double y, long double z)); |
1022 | # endif | ||
849 | # endif | 1023 | # endif |
850 | _GL_CXXALIAS_SYS (fmal, long double, | 1024 | _GL_CXXALIAS_SYS (fmal, long double, |
851 | (long double x, long double y, long double z)); | 1025 | (long double x, long double y, long double z)); |
852 | # endif | 1026 | # endif |
1027 | # if __GLIBC__ >= 2 | ||
853 | _GL_CXXALIASWARN (fmal); | 1028 | _GL_CXXALIASWARN (fmal); |
1029 | # endif | ||
854 | #elif defined GNULIB_POSIXCHECK | 1030 | #elif defined GNULIB_POSIXCHECK |
855 | # undef fmal | 1031 | # undef fmal |
856 | # if HAVE_RAW_DECL_FMAL | 1032 | # if HAVE_RAW_DECL_FMAL |
@@ -895,7 +1071,9 @@ _GL_CXXALIAS_RPL (fmod, double, (double x, double y)); | |||
895 | # else | 1071 | # else |
896 | _GL_CXXALIAS_SYS (fmod, double, (double x, double y)); | 1072 | _GL_CXXALIAS_SYS (fmod, double, (double x, double y)); |
897 | # endif | 1073 | # endif |
898 | _GL_CXXALIASWARN (fmod); | 1074 | # if __GLIBC__ >= 2 |
1075 | _GL_CXXALIASWARN1 (fmod, double, (double x, double y)); | ||
1076 | # endif | ||
899 | #elif defined GNULIB_POSIXCHECK | 1077 | #elif defined GNULIB_POSIXCHECK |
900 | # undef fmod | 1078 | # undef fmod |
901 | # if HAVE_RAW_DECL_FMOD | 1079 | # if HAVE_RAW_DECL_FMOD |
@@ -919,7 +1097,9 @@ _GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y)); | |||
919 | # endif | 1097 | # endif |
920 | _GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y)); | 1098 | _GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y)); |
921 | # endif | 1099 | # endif |
1100 | # if __GLIBC__ >= 2 | ||
922 | _GL_CXXALIASWARN (fmodl); | 1101 | _GL_CXXALIASWARN (fmodl); |
1102 | # endif | ||
923 | #elif defined GNULIB_POSIXCHECK | 1103 | #elif defined GNULIB_POSIXCHECK |
924 | # undef fmodl | 1104 | # undef fmodl |
925 | # if HAVE_RAW_DECL_FMODL | 1105 | # if HAVE_RAW_DECL_FMODL |
@@ -951,7 +1131,9 @@ _GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2))); | |||
951 | # endif | 1131 | # endif |
952 | _GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr)); | 1132 | _GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr)); |
953 | # endif | 1133 | # endif |
1134 | # if __GLIBC__ >= 2 | ||
954 | _GL_CXXALIASWARN (frexpf); | 1135 | _GL_CXXALIASWARN (frexpf); |
1136 | # endif | ||
955 | #elif defined GNULIB_POSIXCHECK | 1137 | #elif defined GNULIB_POSIXCHECK |
956 | # undef frexpf | 1138 | # undef frexpf |
957 | # if HAVE_RAW_DECL_FREXPF | 1139 | # if HAVE_RAW_DECL_FREXPF |
@@ -970,6 +1152,7 @@ _GL_WARN_ON_USE (frexpf, "frexpf is unportable - " | |||
970 | #if @GNULIB_FREXP@ | 1152 | #if @GNULIB_FREXP@ |
971 | # if @REPLACE_FREXP@ | 1153 | # if @REPLACE_FREXP@ |
972 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | 1154 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
1155 | # undef frexp | ||
973 | # define frexp rpl_frexp | 1156 | # define frexp rpl_frexp |
974 | # endif | 1157 | # endif |
975 | _GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2))); | 1158 | _GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2))); |
@@ -977,7 +1160,9 @@ _GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr)); | |||
977 | # else | 1160 | # else |
978 | _GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr)); | 1161 | _GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr)); |
979 | # endif | 1162 | # endif |
980 | _GL_CXXALIASWARN (frexp); | 1163 | # if __GLIBC__ >= 2 |
1164 | _GL_CXXALIASWARN1 (frexp, double, (double x, int *expptr)); | ||
1165 | # endif | ||
981 | #elif defined GNULIB_POSIXCHECK | 1166 | #elif defined GNULIB_POSIXCHECK |
982 | # undef frexp | 1167 | # undef frexp |
983 | /* Assume frexp is always declared. */ | 1168 | /* Assume frexp is always declared. */ |
@@ -1010,7 +1195,9 @@ _GL_CXXALIAS_SYS (frexpl, long double, (long double x, int *expptr)); | |||
1010 | # endif | 1195 | # endif |
1011 | #endif | 1196 | #endif |
1012 | #if @GNULIB_FREXPL@ && !(@REPLACE_FREXPL@ && !@HAVE_DECL_FREXPL@) | 1197 | #if @GNULIB_FREXPL@ && !(@REPLACE_FREXPL@ && !@HAVE_DECL_FREXPL@) |
1198 | # if __GLIBC__ >= 2 | ||
1013 | _GL_CXXALIASWARN (frexpl); | 1199 | _GL_CXXALIASWARN (frexpl); |
1200 | # endif | ||
1014 | #endif | 1201 | #endif |
1015 | #if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK | 1202 | #if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK |
1016 | # undef frexpl | 1203 | # undef frexpl |
@@ -1036,7 +1223,9 @@ _GL_FUNCDECL_SYS (hypotf, float, (float x, float y)); | |||
1036 | # endif | 1223 | # endif |
1037 | _GL_CXXALIAS_SYS (hypotf, float, (float x, float y)); | 1224 | _GL_CXXALIAS_SYS (hypotf, float, (float x, float y)); |
1038 | # endif | 1225 | # endif |
1226 | # if __GLIBC__ >= 2 | ||
1039 | _GL_CXXALIASWARN (hypotf); | 1227 | _GL_CXXALIASWARN (hypotf); |
1228 | # endif | ||
1040 | #elif defined GNULIB_POSIXCHECK | 1229 | #elif defined GNULIB_POSIXCHECK |
1041 | # undef hypotf | 1230 | # undef hypotf |
1042 | # if HAVE_RAW_DECL_HYPOTF | 1231 | # if HAVE_RAW_DECL_HYPOTF |
@@ -1057,7 +1246,9 @@ _GL_CXXALIAS_RPL (hypot, double, (double x, double y)); | |||
1057 | # else | 1246 | # else |
1058 | _GL_CXXALIAS_SYS (hypot, double, (double x, double y)); | 1247 | _GL_CXXALIAS_SYS (hypot, double, (double x, double y)); |
1059 | # endif | 1248 | # endif |
1060 | _GL_CXXALIASWARN (hypot); | 1249 | # if __GLIBC__ >= 2 |
1250 | _GL_CXXALIASWARN1 (hypot, double, (double x, double y)); | ||
1251 | # endif | ||
1061 | #elif defined GNULIB_POSIXCHECK | 1252 | #elif defined GNULIB_POSIXCHECK |
1062 | # undef hypot | 1253 | # undef hypot |
1063 | # if HAVE_RAW_DECL_HYPOT | 1254 | # if HAVE_RAW_DECL_HYPOT |
@@ -1081,7 +1272,9 @@ _GL_FUNCDECL_SYS (hypotl, long double, (long double x, long double y)); | |||
1081 | # endif | 1272 | # endif |
1082 | _GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y)); | 1273 | _GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y)); |
1083 | # endif | 1274 | # endif |
1275 | # if __GLIBC__ >= 2 | ||
1084 | _GL_CXXALIASWARN (hypotl); | 1276 | _GL_CXXALIASWARN (hypotl); |
1277 | # endif | ||
1085 | #elif defined GNULIB_POSIXCHECK | 1278 | #elif defined GNULIB_POSIXCHECK |
1086 | # undef hypotl | 1279 | # undef hypotl |
1087 | # if HAVE_RAW_DECL_HYPOTL | 1280 | # if HAVE_RAW_DECL_HYPOTL |
@@ -1128,7 +1321,9 @@ _GL_FUNCDECL_SYS (ilogb, int, (double x)); | |||
1128 | # endif | 1321 | # endif |
1129 | _GL_CXXALIAS_SYS (ilogb, int, (double x)); | 1322 | _GL_CXXALIAS_SYS (ilogb, int, (double x)); |
1130 | # endif | 1323 | # endif |
1131 | _GL_CXXALIASWARN (ilogb); | 1324 | # if __GLIBC__ >= 2 |
1325 | _GL_CXXALIASWARN1 (ilogb, int, (double x)); | ||
1326 | # endif | ||
1132 | #elif defined GNULIB_POSIXCHECK | 1327 | #elif defined GNULIB_POSIXCHECK |
1133 | # undef ilogb | 1328 | # undef ilogb |
1134 | # if HAVE_RAW_DECL_ILOGB | 1329 | # if HAVE_RAW_DECL_ILOGB |
@@ -1138,11 +1333,23 @@ _GL_WARN_ON_USE (ilogb, "ilogb is unportable - " | |||
1138 | #endif | 1333 | #endif |
1139 | 1334 | ||
1140 | #if @GNULIB_ILOGBL@ | 1335 | #if @GNULIB_ILOGBL@ |
1141 | # if !@HAVE_ILOGBL@ | 1336 | # if @REPLACE_ILOGBL@ |
1337 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
1338 | # undef ilogbl | ||
1339 | # define ilogbl rpl_ilogbl | ||
1340 | # endif | ||
1341 | _GL_FUNCDECL_RPL (ilogbl, int, (long double x)); | ||
1342 | _GL_CXXALIAS_RPL (ilogbl, int, (long double x)); | ||
1343 | # else | ||
1344 | # if !@HAVE_ILOGBL@ | ||
1345 | # undef ilogbl | ||
1142 | _GL_FUNCDECL_SYS (ilogbl, int, (long double x)); | 1346 | _GL_FUNCDECL_SYS (ilogbl, int, (long double x)); |
1143 | # endif | 1347 | # endif |
1144 | _GL_CXXALIAS_SYS (ilogbl, int, (long double x)); | 1348 | _GL_CXXALIAS_SYS (ilogbl, int, (long double x)); |
1349 | # endif | ||
1350 | # if __GLIBC__ >= 2 | ||
1145 | _GL_CXXALIASWARN (ilogbl); | 1351 | _GL_CXXALIASWARN (ilogbl); |
1352 | # endif | ||
1146 | #elif defined GNULIB_POSIXCHECK | 1353 | #elif defined GNULIB_POSIXCHECK |
1147 | # undef ilogbl | 1354 | # undef ilogbl |
1148 | # if HAVE_RAW_DECL_ILOGBL | 1355 | # if HAVE_RAW_DECL_ILOGBL |
@@ -1152,6 +1359,55 @@ _GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - " | |||
1152 | #endif | 1359 | #endif |
1153 | 1360 | ||
1154 | 1361 | ||
1362 | #if @GNULIB_MDA_J0@ | ||
1363 | /* On native Windows, map 'j0' to '_j0', so that -loldnames is not | ||
1364 | required. In C++ with GNULIB_NAMESPACE, avoid differences between | ||
1365 | platforms by defining GNULIB_NAMESPACE::j0 always. */ | ||
1366 | # if defined _WIN32 && !defined __CYGWIN__ | ||
1367 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
1368 | # undef j0 | ||
1369 | # define j0 _j0 | ||
1370 | # endif | ||
1371 | _GL_CXXALIAS_MDA (j0, double, (double x)); | ||
1372 | # else | ||
1373 | _GL_CXXALIAS_SYS (j0, double, (double x)); | ||
1374 | # endif | ||
1375 | _GL_CXXALIASWARN (j0); | ||
1376 | #endif | ||
1377 | |||
1378 | #if @GNULIB_MDA_J1@ | ||
1379 | /* On native Windows, map 'j1' to '_j1', so that -loldnames is not | ||
1380 | required. In C++ with GNULIB_NAMESPACE, avoid differences between | ||
1381 | platforms by defining GNULIB_NAMESPACE::j1 always. */ | ||
1382 | # if defined _WIN32 && !defined __CYGWIN__ | ||
1383 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
1384 | # undef j1 | ||
1385 | # define j1 _j1 | ||
1386 | # endif | ||
1387 | _GL_CXXALIAS_MDA (j1, double, (double x)); | ||
1388 | # else | ||
1389 | _GL_CXXALIAS_SYS (j1, double, (double x)); | ||
1390 | # endif | ||
1391 | _GL_CXXALIASWARN (j1); | ||
1392 | #endif | ||
1393 | |||
1394 | #if @GNULIB_MDA_JN@ | ||
1395 | /* On native Windows, map 'jn' to '_jn', so that -loldnames is not | ||
1396 | required. In C++ with GNULIB_NAMESPACE, avoid differences between | ||
1397 | platforms by defining GNULIB_NAMESPACE::jn always. */ | ||
1398 | # if defined _WIN32 && !defined __CYGWIN__ | ||
1399 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
1400 | # undef jn | ||
1401 | # define jn _jn | ||
1402 | # endif | ||
1403 | _GL_CXXALIAS_MDA (jn, double, (int n, double x)); | ||
1404 | # else | ||
1405 | _GL_CXXALIAS_SYS (jn, double, (int n, double x)); | ||
1406 | # endif | ||
1407 | _GL_CXXALIASWARN (jn); | ||
1408 | #endif | ||
1409 | |||
1410 | |||
1155 | /* Return x * 2^exp. */ | 1411 | /* Return x * 2^exp. */ |
1156 | #if @GNULIB_LDEXPF@ | 1412 | #if @GNULIB_LDEXPF@ |
1157 | # if !@HAVE_LDEXPF@ | 1413 | # if !@HAVE_LDEXPF@ |
@@ -1159,7 +1415,9 @@ _GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - " | |||
1159 | _GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp)); | 1415 | _GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp)); |
1160 | # endif | 1416 | # endif |
1161 | _GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp)); | 1417 | _GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp)); |
1418 | # if __GLIBC__ >= 2 | ||
1162 | _GL_CXXALIASWARN (ldexpf); | 1419 | _GL_CXXALIASWARN (ldexpf); |
1420 | # endif | ||
1163 | #elif defined GNULIB_POSIXCHECK | 1421 | #elif defined GNULIB_POSIXCHECK |
1164 | # undef ldexpf | 1422 | # undef ldexpf |
1165 | # if HAVE_RAW_DECL_LDEXPF | 1423 | # if HAVE_RAW_DECL_LDEXPF |
@@ -1185,7 +1443,9 @@ _GL_CXXALIAS_SYS (ldexpl, long double, (long double x, int exp)); | |||
1185 | # endif | 1443 | # endif |
1186 | #endif | 1444 | #endif |
1187 | #if @GNULIB_LDEXPL@ | 1445 | #if @GNULIB_LDEXPL@ |
1446 | # if __GLIBC__ >= 2 | ||
1188 | _GL_CXXALIASWARN (ldexpl); | 1447 | _GL_CXXALIASWARN (ldexpl); |
1448 | # endif | ||
1189 | #endif | 1449 | #endif |
1190 | #if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK | 1450 | #if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK |
1191 | # undef ldexpl | 1451 | # undef ldexpl |
@@ -1231,7 +1491,9 @@ _GL_CXXALIAS_RPL (log, double, (double x)); | |||
1231 | # else | 1491 | # else |
1232 | _GL_CXXALIAS_SYS (log, double, (double x)); | 1492 | _GL_CXXALIAS_SYS (log, double, (double x)); |
1233 | # endif | 1493 | # endif |
1234 | _GL_CXXALIASWARN (log); | 1494 | # if __GLIBC__ >= 2 |
1495 | _GL_CXXALIASWARN1 (log, double, (double x)); | ||
1496 | # endif | ||
1235 | #elif defined GNULIB_POSIXCHECK | 1497 | #elif defined GNULIB_POSIXCHECK |
1236 | # undef log | 1498 | # undef log |
1237 | # if HAVE_RAW_DECL_LOG | 1499 | # if HAVE_RAW_DECL_LOG |
@@ -1255,7 +1517,9 @@ _GL_FUNCDECL_SYS (logl, long double, (long double x)); | |||
1255 | # endif | 1517 | # endif |
1256 | _GL_CXXALIAS_SYS (logl, long double, (long double x)); | 1518 | _GL_CXXALIAS_SYS (logl, long double, (long double x)); |
1257 | # endif | 1519 | # endif |
1520 | # if __GLIBC__ >= 2 | ||
1258 | _GL_CXXALIASWARN (logl); | 1521 | _GL_CXXALIASWARN (logl); |
1522 | # endif | ||
1259 | #elif defined GNULIB_POSIXCHECK | 1523 | #elif defined GNULIB_POSIXCHECK |
1260 | # undef logl | 1524 | # undef logl |
1261 | # if HAVE_RAW_DECL_LOGL | 1525 | # if HAVE_RAW_DECL_LOGL |
@@ -1300,7 +1564,9 @@ _GL_CXXALIAS_RPL (log10, double, (double x)); | |||
1300 | # else | 1564 | # else |
1301 | _GL_CXXALIAS_SYS (log10, double, (double x)); | 1565 | _GL_CXXALIAS_SYS (log10, double, (double x)); |
1302 | # endif | 1566 | # endif |
1303 | _GL_CXXALIASWARN (log10); | 1567 | # if __GLIBC__ >= 2 |
1568 | _GL_CXXALIASWARN1 (log10, double, (double x)); | ||
1569 | # endif | ||
1304 | #elif defined GNULIB_POSIXCHECK | 1570 | #elif defined GNULIB_POSIXCHECK |
1305 | # undef log10 | 1571 | # undef log10 |
1306 | # if HAVE_RAW_DECL_LOG10 | 1572 | # if HAVE_RAW_DECL_LOG10 |
@@ -1324,7 +1590,9 @@ _GL_FUNCDECL_SYS (log10l, long double, (long double x)); | |||
1324 | # endif | 1590 | # endif |
1325 | _GL_CXXALIAS_SYS (log10l, long double, (long double x)); | 1591 | _GL_CXXALIAS_SYS (log10l, long double, (long double x)); |
1326 | # endif | 1592 | # endif |
1593 | # if __GLIBC__ >= 2 | ||
1327 | _GL_CXXALIASWARN (log10l); | 1594 | _GL_CXXALIASWARN (log10l); |
1595 | # endif | ||
1328 | #elif defined GNULIB_POSIXCHECK | 1596 | #elif defined GNULIB_POSIXCHECK |
1329 | # undef log10l | 1597 | # undef log10l |
1330 | # if HAVE_RAW_DECL_LOG10L | 1598 | # if HAVE_RAW_DECL_LOG10L |
@@ -1371,7 +1639,9 @@ _GL_FUNCDECL_SYS (log1p, double, (double x)); | |||
1371 | # endif | 1639 | # endif |
1372 | _GL_CXXALIAS_SYS (log1p, double, (double x)); | 1640 | _GL_CXXALIAS_SYS (log1p, double, (double x)); |
1373 | # endif | 1641 | # endif |
1374 | _GL_CXXALIASWARN (log1p); | 1642 | # if __GLIBC__ >= 2 |
1643 | _GL_CXXALIASWARN1 (log1p, double, (double x)); | ||
1644 | # endif | ||
1375 | #elif defined GNULIB_POSIXCHECK | 1645 | #elif defined GNULIB_POSIXCHECK |
1376 | # undef log1p | 1646 | # undef log1p |
1377 | # if HAVE_RAW_DECL_LOG1P | 1647 | # if HAVE_RAW_DECL_LOG1P |
@@ -1394,7 +1664,9 @@ _GL_FUNCDECL_SYS (log1pl, long double, (long double x)); | |||
1394 | # endif | 1664 | # endif |
1395 | _GL_CXXALIAS_SYS (log1pl, long double, (long double x)); | 1665 | _GL_CXXALIAS_SYS (log1pl, long double, (long double x)); |
1396 | # endif | 1666 | # endif |
1667 | # if __GLIBC__ >= 2 | ||
1397 | _GL_CXXALIASWARN (log1pl); | 1668 | _GL_CXXALIASWARN (log1pl); |
1669 | # endif | ||
1398 | #elif defined GNULIB_POSIXCHECK | 1670 | #elif defined GNULIB_POSIXCHECK |
1399 | # undef log1pl | 1671 | # undef log1pl |
1400 | # if HAVE_RAW_DECL_LOG1PL | 1672 | # if HAVE_RAW_DECL_LOG1PL |
@@ -1443,7 +1715,9 @@ _GL_FUNCDECL_SYS (log2, double, (double x)); | |||
1443 | # endif | 1715 | # endif |
1444 | _GL_CXXALIAS_SYS (log2, double, (double x)); | 1716 | _GL_CXXALIAS_SYS (log2, double, (double x)); |
1445 | # endif | 1717 | # endif |
1446 | _GL_CXXALIASWARN (log2); | 1718 | # if __GLIBC__ >= 2 |
1719 | _GL_CXXALIASWARN1 (log2, double, (double x)); | ||
1720 | # endif | ||
1447 | #elif defined GNULIB_POSIXCHECK | 1721 | #elif defined GNULIB_POSIXCHECK |
1448 | # undef log2 | 1722 | # undef log2 |
1449 | # if HAVE_RAW_DECL_LOG2 | 1723 | # if HAVE_RAW_DECL_LOG2 |
@@ -1466,7 +1740,9 @@ _GL_FUNCDECL_SYS (log2l, long double, (long double x)); | |||
1466 | # endif | 1740 | # endif |
1467 | _GL_CXXALIAS_SYS (log2l, long double, (long double x)); | 1741 | _GL_CXXALIAS_SYS (log2l, long double, (long double x)); |
1468 | # endif | 1742 | # endif |
1743 | # if __GLIBC__ >= 2 | ||
1469 | _GL_CXXALIASWARN (log2l); | 1744 | _GL_CXXALIASWARN (log2l); |
1745 | # endif | ||
1470 | #elif defined GNULIB_POSIXCHECK | 1746 | #elif defined GNULIB_POSIXCHECK |
1471 | # undef log2l | 1747 | # undef log2l |
1472 | # if HAVE_RAW_DECL_LOG2L | 1748 | # if HAVE_RAW_DECL_LOG2L |
@@ -1513,7 +1789,9 @@ _GL_FUNCDECL_SYS (logb, double, (double x)); | |||
1513 | # endif | 1789 | # endif |
1514 | _GL_CXXALIAS_SYS (logb, double, (double x)); | 1790 | _GL_CXXALIAS_SYS (logb, double, (double x)); |
1515 | # endif | 1791 | # endif |
1516 | _GL_CXXALIASWARN (logb); | 1792 | # if __GLIBC__ >= 2 |
1793 | _GL_CXXALIASWARN1 (logb, double, (double x)); | ||
1794 | # endif | ||
1517 | #elif defined GNULIB_POSIXCHECK | 1795 | #elif defined GNULIB_POSIXCHECK |
1518 | # undef logb | 1796 | # undef logb |
1519 | # if HAVE_RAW_DECL_LOGB | 1797 | # if HAVE_RAW_DECL_LOGB |
@@ -1536,7 +1814,9 @@ _GL_FUNCDECL_SYS (logbl, long double, (long double x)); | |||
1536 | # endif | 1814 | # endif |
1537 | _GL_CXXALIAS_SYS (logbl, long double, (long double x)); | 1815 | _GL_CXXALIAS_SYS (logbl, long double, (long double x)); |
1538 | # endif | 1816 | # endif |
1817 | # if __GLIBC__ >= 2 | ||
1539 | _GL_CXXALIASWARN (logbl); | 1818 | _GL_CXXALIASWARN (logbl); |
1819 | # endif | ||
1540 | #elif defined GNULIB_POSIXCHECK | 1820 | #elif defined GNULIB_POSIXCHECK |
1541 | # undef logbl | 1821 | # undef logbl |
1542 | # if HAVE_RAW_DECL_LOGBL | 1822 | # if HAVE_RAW_DECL_LOGBL |
@@ -1581,7 +1861,9 @@ _GL_CXXALIAS_RPL (modf, double, (double x, double *iptr)); | |||
1581 | # else | 1861 | # else |
1582 | _GL_CXXALIAS_SYS (modf, double, (double x, double *iptr)); | 1862 | _GL_CXXALIAS_SYS (modf, double, (double x, double *iptr)); |
1583 | # endif | 1863 | # endif |
1584 | _GL_CXXALIASWARN (modf); | 1864 | # if __GLIBC__ >= 2 |
1865 | _GL_CXXALIASWARN1 (modf, double, (double x, double *iptr)); | ||
1866 | # endif | ||
1585 | #elif defined GNULIB_POSIXCHECK | 1867 | #elif defined GNULIB_POSIXCHECK |
1586 | # undef modf | 1868 | # undef modf |
1587 | # if HAVE_RAW_DECL_MODF | 1869 | # if HAVE_RAW_DECL_MODF |
@@ -1607,7 +1889,9 @@ _GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr) | |||
1607 | # endif | 1889 | # endif |
1608 | _GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr)); | 1890 | _GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr)); |
1609 | # endif | 1891 | # endif |
1892 | # if __GLIBC__ >= 2 | ||
1610 | _GL_CXXALIASWARN (modfl); | 1893 | _GL_CXXALIASWARN (modfl); |
1894 | # endif | ||
1611 | #elif defined GNULIB_POSIXCHECK | 1895 | #elif defined GNULIB_POSIXCHECK |
1612 | # undef modfl | 1896 | # undef modfl |
1613 | # if HAVE_RAW_DECL_MODFL | 1897 | # if HAVE_RAW_DECL_MODFL |
@@ -1670,7 +1954,9 @@ _GL_FUNCDECL_SYS (remainder, double, (double x, double y)); | |||
1670 | # endif | 1954 | # endif |
1671 | _GL_CXXALIAS_SYS (remainder, double, (double x, double y)); | 1955 | _GL_CXXALIAS_SYS (remainder, double, (double x, double y)); |
1672 | # endif | 1956 | # endif |
1673 | _GL_CXXALIASWARN (remainder); | 1957 | # if __GLIBC__ >= 2 |
1958 | _GL_CXXALIASWARN1 (remainder, double, (double x, double y)); | ||
1959 | # endif | ||
1674 | #elif defined GNULIB_POSIXCHECK | 1960 | #elif defined GNULIB_POSIXCHECK |
1675 | # undef remainder | 1961 | # undef remainder |
1676 | # if HAVE_RAW_DECL_REMAINDER | 1962 | # if HAVE_RAW_DECL_REMAINDER |
@@ -1690,11 +1976,15 @@ _GL_CXXALIAS_RPL (remainderl, long double, (long double x, long double y)); | |||
1690 | # else | 1976 | # else |
1691 | # if !@HAVE_DECL_REMAINDERL@ | 1977 | # if !@HAVE_DECL_REMAINDERL@ |
1692 | # undef remainderl | 1978 | # undef remainderl |
1979 | # if !(defined __cplusplus && defined _AIX) | ||
1693 | _GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y)); | 1980 | _GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y)); |
1981 | # endif | ||
1694 | # endif | 1982 | # endif |
1695 | _GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y)); | 1983 | _GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y)); |
1696 | # endif | 1984 | # endif |
1985 | # if __GLIBC__ >= 2 | ||
1697 | _GL_CXXALIASWARN (remainderl); | 1986 | _GL_CXXALIASWARN (remainderl); |
1987 | # endif | ||
1698 | #elif defined GNULIB_POSIXCHECK | 1988 | #elif defined GNULIB_POSIXCHECK |
1699 | # undef remainderl | 1989 | # undef remainderl |
1700 | # if HAVE_RAW_DECL_REMAINDERL | 1990 | # if HAVE_RAW_DECL_REMAINDERL |
@@ -1723,7 +2013,9 @@ _GL_WARN_ON_USE (rintf, "rintf is unportable - " | |||
1723 | _GL_FUNCDECL_SYS (rint, double, (double x)); | 2013 | _GL_FUNCDECL_SYS (rint, double, (double x)); |
1724 | # endif | 2014 | # endif |
1725 | _GL_CXXALIAS_SYS (rint, double, (double x)); | 2015 | _GL_CXXALIAS_SYS (rint, double, (double x)); |
1726 | _GL_CXXALIASWARN (rint); | 2016 | # if __GLIBC__ >= 2 |
2017 | _GL_CXXALIASWARN1 (rint, double, (double x)); | ||
2018 | # endif | ||
1727 | #elif defined GNULIB_POSIXCHECK | 2019 | #elif defined GNULIB_POSIXCHECK |
1728 | # undef rint | 2020 | # undef rint |
1729 | # if HAVE_RAW_DECL_RINT | 2021 | # if HAVE_RAW_DECL_RINT |
@@ -1733,11 +2025,22 @@ _GL_WARN_ON_USE (rint, "rint is unportable - " | |||
1733 | #endif | 2025 | #endif |
1734 | 2026 | ||
1735 | #if @GNULIB_RINTL@ | 2027 | #if @GNULIB_RINTL@ |
1736 | # if !@HAVE_RINTL@ | 2028 | # if @REPLACE_RINTL@ |
2029 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
2030 | # undef rintl | ||
2031 | # define rintl rpl_rintl | ||
2032 | # endif | ||
2033 | _GL_FUNCDECL_RPL (rintl, long double, (long double x)); | ||
2034 | _GL_CXXALIAS_RPL (rintl, long double, (long double x)); | ||
2035 | # else | ||
2036 | # if !@HAVE_RINTL@ | ||
1737 | _GL_FUNCDECL_SYS (rintl, long double, (long double x)); | 2037 | _GL_FUNCDECL_SYS (rintl, long double, (long double x)); |
1738 | # endif | 2038 | # endif |
1739 | _GL_CXXALIAS_SYS (rintl, long double, (long double x)); | 2039 | _GL_CXXALIAS_SYS (rintl, long double, (long double x)); |
2040 | # endif | ||
2041 | # if __GLIBC__ >= 2 | ||
1740 | _GL_CXXALIASWARN (rintl); | 2042 | _GL_CXXALIASWARN (rintl); |
2043 | # endif | ||
1741 | #elif defined GNULIB_POSIXCHECK | 2044 | #elif defined GNULIB_POSIXCHECK |
1742 | # undef rintl | 2045 | # undef rintl |
1743 | # if HAVE_RAW_DECL_RINTL | 2046 | # if HAVE_RAW_DECL_RINTL |
@@ -1784,7 +2087,9 @@ _GL_FUNCDECL_SYS (round, double, (double x)); | |||
1784 | # endif | 2087 | # endif |
1785 | _GL_CXXALIAS_SYS (round, double, (double x)); | 2088 | _GL_CXXALIAS_SYS (round, double, (double x)); |
1786 | # endif | 2089 | # endif |
1787 | _GL_CXXALIASWARN (round); | 2090 | # if __GLIBC__ >= 2 |
2091 | _GL_CXXALIASWARN1 (round, double, (double x)); | ||
2092 | # endif | ||
1788 | #elif defined GNULIB_POSIXCHECK | 2093 | #elif defined GNULIB_POSIXCHECK |
1789 | # undef round | 2094 | # undef round |
1790 | # if HAVE_RAW_DECL_ROUND | 2095 | # if HAVE_RAW_DECL_ROUND |
@@ -1804,11 +2109,15 @@ _GL_CXXALIAS_RPL (roundl, long double, (long double x)); | |||
1804 | # else | 2109 | # else |
1805 | # if !@HAVE_DECL_ROUNDL@ | 2110 | # if !@HAVE_DECL_ROUNDL@ |
1806 | # undef roundl | 2111 | # undef roundl |
2112 | # if !(defined __cplusplus && defined _AIX) | ||
1807 | _GL_FUNCDECL_SYS (roundl, long double, (long double x)); | 2113 | _GL_FUNCDECL_SYS (roundl, long double, (long double x)); |
2114 | # endif | ||
1808 | # endif | 2115 | # endif |
1809 | _GL_CXXALIAS_SYS (roundl, long double, (long double x)); | 2116 | _GL_CXXALIAS_SYS (roundl, long double, (long double x)); |
1810 | # endif | 2117 | # endif |
2118 | # if __GLIBC__ >= 2 | ||
1811 | _GL_CXXALIASWARN (roundl); | 2119 | _GL_CXXALIASWARN (roundl); |
2120 | # endif | ||
1812 | #elif defined GNULIB_POSIXCHECK | 2121 | #elif defined GNULIB_POSIXCHECK |
1813 | # undef roundl | 2122 | # undef roundl |
1814 | # if HAVE_RAW_DECL_ROUNDL | 2123 | # if HAVE_RAW_DECL_ROUNDL |
@@ -1819,11 +2128,20 @@ _GL_WARN_ON_USE (roundl, "roundl is unportable - " | |||
1819 | 2128 | ||
1820 | 2129 | ||
1821 | #if @GNULIB_SINF@ | 2130 | #if @GNULIB_SINF@ |
1822 | # if !@HAVE_SINF@ | 2131 | # if @REPLACE_SINF@ |
1823 | # undef sinf | 2132 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
2133 | # undef sinf | ||
2134 | # define sinf rpl_sinf | ||
2135 | # endif | ||
2136 | _GL_FUNCDECL_RPL (sinf, float, (float x)); | ||
2137 | _GL_CXXALIAS_RPL (sinf, float, (float x)); | ||
2138 | # else | ||
2139 | # if !@HAVE_SINF@ | ||
2140 | # undef sinf | ||
1824 | _GL_FUNCDECL_SYS (sinf, float, (float x)); | 2141 | _GL_FUNCDECL_SYS (sinf, float, (float x)); |
1825 | # endif | 2142 | # endif |
1826 | _GL_CXXALIAS_SYS (sinf, float, (float x)); | 2143 | _GL_CXXALIAS_SYS (sinf, float, (float x)); |
2144 | # endif | ||
1827 | _GL_CXXALIASWARN (sinf); | 2145 | _GL_CXXALIASWARN (sinf); |
1828 | #elif defined GNULIB_POSIXCHECK | 2146 | #elif defined GNULIB_POSIXCHECK |
1829 | # undef sinf | 2147 | # undef sinf |
@@ -1839,7 +2157,9 @@ _GL_WARN_ON_USE (sinf, "sinf is unportable - " | |||
1839 | _GL_FUNCDECL_SYS (sinl, long double, (long double x)); | 2157 | _GL_FUNCDECL_SYS (sinl, long double, (long double x)); |
1840 | # endif | 2158 | # endif |
1841 | _GL_CXXALIAS_SYS (sinl, long double, (long double x)); | 2159 | _GL_CXXALIAS_SYS (sinl, long double, (long double x)); |
2160 | # if __GLIBC__ >= 2 | ||
1842 | _GL_CXXALIASWARN (sinl); | 2161 | _GL_CXXALIASWARN (sinl); |
2162 | # endif | ||
1843 | #elif defined GNULIB_POSIXCHECK | 2163 | #elif defined GNULIB_POSIXCHECK |
1844 | # undef sinl | 2164 | # undef sinl |
1845 | # if HAVE_RAW_DECL_SINL | 2165 | # if HAVE_RAW_DECL_SINL |
@@ -1850,11 +2170,20 @@ _GL_WARN_ON_USE (sinl, "sinl is unportable - " | |||
1850 | 2170 | ||
1851 | 2171 | ||
1852 | #if @GNULIB_SINHF@ | 2172 | #if @GNULIB_SINHF@ |
1853 | # if !@HAVE_SINHF@ | 2173 | # if @REPLACE_SINHF@ |
1854 | # undef sinhf | 2174 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
2175 | # undef sinhf | ||
2176 | # define sinhf rpl_sinhf | ||
2177 | # endif | ||
2178 | _GL_FUNCDECL_RPL (sinhf, float, (float x)); | ||
2179 | _GL_CXXALIAS_RPL (sinhf, float, (float x)); | ||
2180 | # else | ||
2181 | # if !@HAVE_SINHF@ | ||
2182 | # undef sinhf | ||
1855 | _GL_FUNCDECL_SYS (sinhf, float, (float x)); | 2183 | _GL_FUNCDECL_SYS (sinhf, float, (float x)); |
1856 | # endif | 2184 | # endif |
1857 | _GL_CXXALIAS_SYS (sinhf, float, (float x)); | 2185 | _GL_CXXALIAS_SYS (sinhf, float, (float x)); |
2186 | # endif | ||
1858 | _GL_CXXALIASWARN (sinhf); | 2187 | _GL_CXXALIASWARN (sinhf); |
1859 | #elif defined GNULIB_POSIXCHECK | 2188 | #elif defined GNULIB_POSIXCHECK |
1860 | # undef sinhf | 2189 | # undef sinhf |
@@ -1866,11 +2195,20 @@ _GL_WARN_ON_USE (sinhf, "sinhf is unportable - " | |||
1866 | 2195 | ||
1867 | 2196 | ||
1868 | #if @GNULIB_SQRTF@ | 2197 | #if @GNULIB_SQRTF@ |
1869 | # if !@HAVE_SQRTF@ | 2198 | # if @REPLACE_SQRTF@ |
1870 | # undef sqrtf | 2199 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
2200 | # undef sqrtf | ||
2201 | # define sqrtf rpl_sqrtf | ||
2202 | # endif | ||
2203 | _GL_FUNCDECL_RPL (sqrtf, float, (float x)); | ||
2204 | _GL_CXXALIAS_RPL (sqrtf, float, (float x)); | ||
2205 | # else | ||
2206 | # if !@HAVE_SQRTF@ | ||
2207 | # undef sqrtf | ||
1871 | _GL_FUNCDECL_SYS (sqrtf, float, (float x)); | 2208 | _GL_FUNCDECL_SYS (sqrtf, float, (float x)); |
1872 | # endif | 2209 | # endif |
1873 | _GL_CXXALIAS_SYS (sqrtf, float, (float x)); | 2210 | _GL_CXXALIAS_SYS (sqrtf, float, (float x)); |
2211 | # endif | ||
1874 | _GL_CXXALIASWARN (sqrtf); | 2212 | _GL_CXXALIASWARN (sqrtf); |
1875 | #elif defined GNULIB_POSIXCHECK | 2213 | #elif defined GNULIB_POSIXCHECK |
1876 | # undef sqrtf | 2214 | # undef sqrtf |
@@ -1895,7 +2233,9 @@ _GL_FUNCDECL_SYS (sqrtl, long double, (long double x)); | |||
1895 | # endif | 2233 | # endif |
1896 | _GL_CXXALIAS_SYS (sqrtl, long double, (long double x)); | 2234 | _GL_CXXALIAS_SYS (sqrtl, long double, (long double x)); |
1897 | # endif | 2235 | # endif |
2236 | # if __GLIBC__ >= 2 | ||
1898 | _GL_CXXALIASWARN (sqrtl); | 2237 | _GL_CXXALIASWARN (sqrtl); |
2238 | # endif | ||
1899 | #elif defined GNULIB_POSIXCHECK | 2239 | #elif defined GNULIB_POSIXCHECK |
1900 | # undef sqrtl | 2240 | # undef sqrtl |
1901 | # if HAVE_RAW_DECL_SQRTL | 2241 | # if HAVE_RAW_DECL_SQRTL |
@@ -1906,11 +2246,20 @@ _GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - " | |||
1906 | 2246 | ||
1907 | 2247 | ||
1908 | #if @GNULIB_TANF@ | 2248 | #if @GNULIB_TANF@ |
1909 | # if !@HAVE_TANF@ | 2249 | # if @REPLACE_TANF@ |
1910 | # undef tanf | 2250 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
2251 | # undef tanf | ||
2252 | # define tanf rpl_tanf | ||
2253 | # endif | ||
2254 | _GL_FUNCDECL_RPL (tanf, float, (float x)); | ||
2255 | _GL_CXXALIAS_RPL (tanf, float, (float x)); | ||
2256 | # else | ||
2257 | # if !@HAVE_TANF@ | ||
2258 | # undef tanf | ||
1911 | _GL_FUNCDECL_SYS (tanf, float, (float x)); | 2259 | _GL_FUNCDECL_SYS (tanf, float, (float x)); |
1912 | # endif | 2260 | # endif |
1913 | _GL_CXXALIAS_SYS (tanf, float, (float x)); | 2261 | _GL_CXXALIAS_SYS (tanf, float, (float x)); |
2262 | # endif | ||
1914 | _GL_CXXALIASWARN (tanf); | 2263 | _GL_CXXALIASWARN (tanf); |
1915 | #elif defined GNULIB_POSIXCHECK | 2264 | #elif defined GNULIB_POSIXCHECK |
1916 | # undef tanf | 2265 | # undef tanf |
@@ -1926,7 +2275,9 @@ _GL_WARN_ON_USE (tanf, "tanf is unportable - " | |||
1926 | _GL_FUNCDECL_SYS (tanl, long double, (long double x)); | 2275 | _GL_FUNCDECL_SYS (tanl, long double, (long double x)); |
1927 | # endif | 2276 | # endif |
1928 | _GL_CXXALIAS_SYS (tanl, long double, (long double x)); | 2277 | _GL_CXXALIAS_SYS (tanl, long double, (long double x)); |
2278 | # if __GLIBC__ >= 2 | ||
1929 | _GL_CXXALIASWARN (tanl); | 2279 | _GL_CXXALIASWARN (tanl); |
2280 | # endif | ||
1930 | #elif defined GNULIB_POSIXCHECK | 2281 | #elif defined GNULIB_POSIXCHECK |
1931 | # undef tanl | 2282 | # undef tanl |
1932 | # if HAVE_RAW_DECL_TANL | 2283 | # if HAVE_RAW_DECL_TANL |
@@ -1937,11 +2288,20 @@ _GL_WARN_ON_USE (tanl, "tanl is unportable - " | |||
1937 | 2288 | ||
1938 | 2289 | ||
1939 | #if @GNULIB_TANHF@ | 2290 | #if @GNULIB_TANHF@ |
1940 | # if !@HAVE_TANHF@ | 2291 | # if @REPLACE_TANHF@ |
1941 | # undef tanhf | 2292 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
2293 | # undef tanhf | ||
2294 | # define tanhf rpl_tanhf | ||
2295 | # endif | ||
2296 | _GL_FUNCDECL_RPL (tanhf, float, (float x)); | ||
2297 | _GL_CXXALIAS_RPL (tanhf, float, (float x)); | ||
2298 | # else | ||
2299 | # if !@HAVE_TANHF@ | ||
2300 | # undef tanhf | ||
1942 | _GL_FUNCDECL_SYS (tanhf, float, (float x)); | 2301 | _GL_FUNCDECL_SYS (tanhf, float, (float x)); |
1943 | # endif | 2302 | # endif |
1944 | _GL_CXXALIAS_SYS (tanhf, float, (float x)); | 2303 | _GL_CXXALIAS_SYS (tanhf, float, (float x)); |
2304 | # endif | ||
1945 | _GL_CXXALIASWARN (tanhf); | 2305 | _GL_CXXALIASWARN (tanhf); |
1946 | #elif defined GNULIB_POSIXCHECK | 2306 | #elif defined GNULIB_POSIXCHECK |
1947 | # undef tanhf | 2307 | # undef tanhf |
@@ -1955,6 +2315,7 @@ _GL_WARN_ON_USE (tanhf, "tanhf is unportable - " | |||
1955 | #if @GNULIB_TRUNCF@ | 2315 | #if @GNULIB_TRUNCF@ |
1956 | # if @REPLACE_TRUNCF@ | 2316 | # if @REPLACE_TRUNCF@ |
1957 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | 2317 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
2318 | # undef truncf | ||
1958 | # define truncf rpl_truncf | 2319 | # define truncf rpl_truncf |
1959 | # endif | 2320 | # endif |
1960 | _GL_FUNCDECL_RPL (truncf, float, (float x)); | 2321 | _GL_FUNCDECL_RPL (truncf, float, (float x)); |
@@ -1977,6 +2338,7 @@ _GL_WARN_ON_USE (truncf, "truncf is unportable - " | |||
1977 | #if @GNULIB_TRUNC@ | 2338 | #if @GNULIB_TRUNC@ |
1978 | # if @REPLACE_TRUNC@ | 2339 | # if @REPLACE_TRUNC@ |
1979 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | 2340 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
2341 | # undef trunc | ||
1980 | # define trunc rpl_trunc | 2342 | # define trunc rpl_trunc |
1981 | # endif | 2343 | # endif |
1982 | _GL_FUNCDECL_RPL (trunc, double, (double x)); | 2344 | _GL_FUNCDECL_RPL (trunc, double, (double x)); |
@@ -1987,7 +2349,9 @@ _GL_FUNCDECL_SYS (trunc, double, (double x)); | |||
1987 | # endif | 2349 | # endif |
1988 | _GL_CXXALIAS_SYS (trunc, double, (double x)); | 2350 | _GL_CXXALIAS_SYS (trunc, double, (double x)); |
1989 | # endif | 2351 | # endif |
1990 | _GL_CXXALIASWARN (trunc); | 2352 | # if __GLIBC__ >= 2 |
2353 | _GL_CXXALIASWARN1 (trunc, double, (double x)); | ||
2354 | # endif | ||
1991 | #elif defined GNULIB_POSIXCHECK | 2355 | #elif defined GNULIB_POSIXCHECK |
1992 | # undef trunc | 2356 | # undef trunc |
1993 | # if HAVE_RAW_DECL_TRUNC | 2357 | # if HAVE_RAW_DECL_TRUNC |
@@ -2010,7 +2374,9 @@ _GL_FUNCDECL_SYS (truncl, long double, (long double x)); | |||
2010 | # endif | 2374 | # endif |
2011 | _GL_CXXALIAS_SYS (truncl, long double, (long double x)); | 2375 | _GL_CXXALIAS_SYS (truncl, long double, (long double x)); |
2012 | # endif | 2376 | # endif |
2377 | # if __GLIBC__ >= 2 | ||
2013 | _GL_CXXALIASWARN (truncl); | 2378 | _GL_CXXALIASWARN (truncl); |
2379 | # endif | ||
2014 | #elif defined GNULIB_POSIXCHECK | 2380 | #elif defined GNULIB_POSIXCHECK |
2015 | # undef truncl | 2381 | # undef truncl |
2016 | # if HAVE_RAW_DECL_TRUNCL | 2382 | # if HAVE_RAW_DECL_TRUNCL |
@@ -2020,6 +2386,55 @@ _GL_WARN_ON_USE (truncl, "truncl is unportable - " | |||
2020 | #endif | 2386 | #endif |
2021 | 2387 | ||
2022 | 2388 | ||
2389 | #if @GNULIB_MDA_Y0@ | ||
2390 | /* On native Windows, map 'y0' to '_y0', so that -loldnames is not | ||
2391 | required. In C++ with GNULIB_NAMESPACE, avoid differences between | ||
2392 | platforms by defining GNULIB_NAMESPACE::y0 always. */ | ||
2393 | # if defined _WIN32 && !defined __CYGWIN__ | ||
2394 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
2395 | # undef y0 | ||
2396 | # define y0 _y0 | ||
2397 | # endif | ||
2398 | _GL_CXXALIAS_MDA (y0, double, (double x)); | ||
2399 | # else | ||
2400 | _GL_CXXALIAS_SYS (y0, double, (double x)); | ||
2401 | # endif | ||
2402 | _GL_CXXALIASWARN (y0); | ||
2403 | #endif | ||
2404 | |||
2405 | #if @GNULIB_MDA_Y1@ | ||
2406 | /* On native Windows, map 'y1' to '_y1', so that -loldnames is not | ||
2407 | required. In C++ with GNULIB_NAMESPACE, avoid differences between | ||
2408 | platforms by defining GNULIB_NAMESPACE::y1 always. */ | ||
2409 | # if defined _WIN32 && !defined __CYGWIN__ | ||
2410 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
2411 | # undef y1 | ||
2412 | # define y1 _y1 | ||
2413 | # endif | ||
2414 | _GL_CXXALIAS_MDA (y1, double, (double x)); | ||
2415 | # else | ||
2416 | _GL_CXXALIAS_SYS (y1, double, (double x)); | ||
2417 | # endif | ||
2418 | _GL_CXXALIASWARN (y1); | ||
2419 | #endif | ||
2420 | |||
2421 | #if @GNULIB_MDA_YN@ | ||
2422 | /* On native Windows, map 'yn' to '_yn', so that -loldnames is not | ||
2423 | required. In C++ with GNULIB_NAMESPACE, avoid differences between | ||
2424 | platforms by defining GNULIB_NAMESPACE::yn always. */ | ||
2425 | # if defined _WIN32 && !defined __CYGWIN__ | ||
2426 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
2427 | # undef yn | ||
2428 | # define yn _yn | ||
2429 | # endif | ||
2430 | _GL_CXXALIAS_MDA (yn, double, (int n, double x)); | ||
2431 | # else | ||
2432 | _GL_CXXALIAS_SYS (yn, double, (int n, double x)); | ||
2433 | # endif | ||
2434 | _GL_CXXALIASWARN (yn); | ||
2435 | #endif | ||
2436 | |||
2437 | |||
2023 | /* Definitions of function-like macros come here, after the function | 2438 | /* Definitions of function-like macros come here, after the function |
2024 | declarations. */ | 2439 | declarations. */ |
2025 | 2440 | ||
@@ -2036,10 +2451,18 @@ _GL_EXTERN_C int gl_isfinitel (long double x); | |||
2036 | gl_isfinitef (x)) | 2451 | gl_isfinitef (x)) |
2037 | # endif | 2452 | # endif |
2038 | # ifdef __cplusplus | 2453 | # ifdef __cplusplus |
2039 | # ifdef isfinite | 2454 | # if defined isfinite || defined GNULIB_NAMESPACE |
2040 | _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite) | 2455 | _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite) |
2041 | # undef isfinite | 2456 | # undef isfinite |
2042 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite) | 2457 | # if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined _AIX || (defined _WIN32 && !defined __CYGWIN__))) |
2458 | /* This platform's <cmath> possibly defines isfinite through a set of inline | ||
2459 | functions. */ | ||
2460 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, rpl_isfinite, bool) | ||
2461 | # define isfinite rpl_isfinite | ||
2462 | # define GNULIB_NAMESPACE_LACKS_ISFINITE 1 | ||
2463 | # else | ||
2464 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, isfinite, bool) | ||
2465 | # endif | ||
2043 | # endif | 2466 | # endif |
2044 | # endif | 2467 | # endif |
2045 | #elif defined GNULIB_POSIXCHECK | 2468 | #elif defined GNULIB_POSIXCHECK |
@@ -2063,10 +2486,18 @@ _GL_EXTERN_C int gl_isinfl (long double x); | |||
2063 | gl_isinff (x)) | 2486 | gl_isinff (x)) |
2064 | # endif | 2487 | # endif |
2065 | # ifdef __cplusplus | 2488 | # ifdef __cplusplus |
2066 | # ifdef isinf | 2489 | # if defined isinf || defined GNULIB_NAMESPACE |
2067 | _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf) | 2490 | _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf) |
2068 | # undef isinf | 2491 | # undef isinf |
2069 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf) | 2492 | # if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__))) |
2493 | /* This platform's <cmath> possibly defines isinf through a set of inline | ||
2494 | functions. */ | ||
2495 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, rpl_isinf, bool) | ||
2496 | # define isinf rpl_isinf | ||
2497 | # define GNULIB_NAMESPACE_LACKS_ISINF 1 | ||
2498 | # else | ||
2499 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, isinf, bool) | ||
2500 | # endif | ||
2070 | # endif | 2501 | # endif |
2071 | # endif | 2502 | # endif |
2072 | #elif defined GNULIB_POSIXCHECK | 2503 | #elif defined GNULIB_POSIXCHECK |
@@ -2083,10 +2514,11 @@ _GL_WARN_REAL_FLOATING_DECL (isinf); | |||
2083 | # if @HAVE_ISNANF@ | 2514 | # if @HAVE_ISNANF@ |
2084 | /* The original <math.h> included above provides a declaration of isnan macro | 2515 | /* The original <math.h> included above provides a declaration of isnan macro |
2085 | or (older) isnanf function. */ | 2516 | or (older) isnanf function. */ |
2086 | # if __GNUC__ >= 4 | 2517 | # if (__GNUC__ >= 4) || (__clang_major__ >= 4) |
2087 | /* GCC 4.0 and newer provides three built-ins for isnan. */ | 2518 | /* GCC >= 4.0 and clang provide a type-generic built-in for isnan. |
2519 | GCC >= 4.0 also provides __builtin_isnanf, but clang doesn't. */ | ||
2088 | # undef isnanf | 2520 | # undef isnanf |
2089 | # define isnanf(x) __builtin_isnanf ((float)(x)) | 2521 | # define isnanf(x) __builtin_isnan ((float)(x)) |
2090 | # elif defined isnan | 2522 | # elif defined isnan |
2091 | # undef isnanf | 2523 | # undef isnanf |
2092 | # define isnanf(x) isnan ((float)(x)) | 2524 | # define isnanf(x) isnan ((float)(x)) |
@@ -2106,8 +2538,8 @@ _GL_EXTERN_C int isnanf (float x); | |||
2106 | # if @HAVE_ISNAND@ | 2538 | # if @HAVE_ISNAND@ |
2107 | /* The original <math.h> included above provides a declaration of isnan | 2539 | /* The original <math.h> included above provides a declaration of isnan |
2108 | macro. */ | 2540 | macro. */ |
2109 | # if __GNUC__ >= 4 | 2541 | # if (__GNUC__ >= 4) || (__clang_major__ >= 4) |
2110 | /* GCC 4.0 and newer provides three built-ins for isnan. */ | 2542 | /* GCC >= 4.0 and clang provide a type-generic built-in for isnan. */ |
2111 | # undef isnand | 2543 | # undef isnand |
2112 | # define isnand(x) __builtin_isnan ((double)(x)) | 2544 | # define isnand(x) __builtin_isnan ((double)(x)) |
2113 | # else | 2545 | # else |
@@ -2127,10 +2559,11 @@ _GL_EXTERN_C int isnand (double x); | |||
2127 | # if @HAVE_ISNANL@ | 2559 | # if @HAVE_ISNANL@ |
2128 | /* The original <math.h> included above provides a declaration of isnan | 2560 | /* The original <math.h> included above provides a declaration of isnan |
2129 | macro or (older) isnanl function. */ | 2561 | macro or (older) isnanl function. */ |
2130 | # if __GNUC__ >= 4 | 2562 | # if (__GNUC__ >= 4) || (__clang_major__ >= 4) |
2131 | /* GCC 4.0 and newer provides three built-ins for isnan. */ | 2563 | /* GCC >= 4.0 and clang provide a type-generic built-in for isnan. |
2564 | GCC >= 4.0 also provides __builtin_isnanl, but clang doesn't. */ | ||
2132 | # undef isnanl | 2565 | # undef isnanl |
2133 | # define isnanl(x) __builtin_isnanl ((long double)(x)) | 2566 | # define isnanl(x) __builtin_isnan ((long double)(x)) |
2134 | # elif defined isnan | 2567 | # elif defined isnan |
2135 | # undef isnanl | 2568 | # undef isnanl |
2136 | # define isnanl(x) isnan ((long double)(x)) | 2569 | # define isnanl(x) isnan ((long double)(x)) |
@@ -2150,20 +2583,20 @@ _GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST; | |||
2150 | isnanf.h (e.g.) here, because those may end up being macros | 2583 | isnanf.h (e.g.) here, because those may end up being macros |
2151 | that recursively expand back to isnan. So use the gnulib | 2584 | that recursively expand back to isnan. So use the gnulib |
2152 | replacements for them directly. */ | 2585 | replacements for them directly. */ |
2153 | # if @HAVE_ISNANF@ && __GNUC__ >= 4 | 2586 | # if @HAVE_ISNANF@ && (__GNUC__ >= 4) || (__clang_major__ >= 4) |
2154 | # define gl_isnan_f(x) __builtin_isnanf ((float)(x)) | 2587 | # define gl_isnan_f(x) __builtin_isnan ((float)(x)) |
2155 | # else | 2588 | # else |
2156 | _GL_EXTERN_C int rpl_isnanf (float x); | 2589 | _GL_EXTERN_C int rpl_isnanf (float x); |
2157 | # define gl_isnan_f(x) rpl_isnanf (x) | 2590 | # define gl_isnan_f(x) rpl_isnanf (x) |
2158 | # endif | 2591 | # endif |
2159 | # if @HAVE_ISNAND@ && __GNUC__ >= 4 | 2592 | # if @HAVE_ISNAND@ && (__GNUC__ >= 4) || (__clang_major__ >= 4) |
2160 | # define gl_isnan_d(x) __builtin_isnan ((double)(x)) | 2593 | # define gl_isnan_d(x) __builtin_isnan ((double)(x)) |
2161 | # else | 2594 | # else |
2162 | _GL_EXTERN_C int rpl_isnand (double x); | 2595 | _GL_EXTERN_C int rpl_isnand (double x); |
2163 | # define gl_isnan_d(x) rpl_isnand (x) | 2596 | # define gl_isnan_d(x) rpl_isnand (x) |
2164 | # endif | 2597 | # endif |
2165 | # if @HAVE_ISNANL@ && __GNUC__ >= 4 | 2598 | # if @HAVE_ISNANL@ && (__GNUC__ >= 4) || (__clang_major__ >= 4) |
2166 | # define gl_isnan_l(x) __builtin_isnanl ((long double)(x)) | 2599 | # define gl_isnan_l(x) __builtin_isnan ((long double)(x)) |
2167 | # else | 2600 | # else |
2168 | _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST; | 2601 | _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST; |
2169 | # define gl_isnan_l(x) rpl_isnanl (x) | 2602 | # define gl_isnan_l(x) rpl_isnanl (x) |
@@ -2173,18 +2606,26 @@ _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST; | |||
2173 | (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \ | 2606 | (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \ |
2174 | sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \ | 2607 | sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \ |
2175 | gl_isnan_f (x)) | 2608 | gl_isnan_f (x)) |
2176 | # elif __GNUC__ >= 4 | 2609 | # elif (__GNUC__ >= 4) || (__clang_major__ >= 4) |
2177 | # undef isnan | 2610 | # undef isnan |
2178 | # define isnan(x) \ | 2611 | # define isnan(x) \ |
2179 | (sizeof (x) == sizeof (long double) ? __builtin_isnanl ((long double)(x)) : \ | 2612 | (sizeof (x) == sizeof (long double) ? __builtin_isnan ((long double)(x)) : \ |
2180 | sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \ | 2613 | sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \ |
2181 | __builtin_isnanf ((float)(x))) | 2614 | __builtin_isnan ((float)(x))) |
2182 | # endif | 2615 | # endif |
2183 | # ifdef __cplusplus | 2616 | # ifdef __cplusplus |
2184 | # ifdef isnan | 2617 | # if defined isnan || defined GNULIB_NAMESPACE |
2185 | _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan) | 2618 | _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan) |
2186 | # undef isnan | 2619 | # undef isnan |
2187 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan) | 2620 | # if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__ && __clang_major__ < 12) || (defined __FreeBSD__ && (__clang_major__ < 7 || __clang_major__ >= 11)) || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__))) |
2621 | /* This platform's <cmath> possibly defines isnan through a set of inline | ||
2622 | functions. */ | ||
2623 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, rpl_isnan, bool) | ||
2624 | # define isnan rpl_isnan | ||
2625 | # define GNULIB_NAMESPACE_LACKS_ISNAN 1 | ||
2626 | # else | ||
2627 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, isnan, bool) | ||
2628 | # endif | ||
2188 | # endif | 2629 | # endif |
2189 | # else | 2630 | # else |
2190 | /* Ensure isnan is a macro. */ | 2631 | /* Ensure isnan is a macro. */ |
@@ -2202,20 +2643,21 @@ _GL_WARN_REAL_FLOATING_DECL (isnan); | |||
2202 | 2643 | ||
2203 | 2644 | ||
2204 | #if @GNULIB_SIGNBIT@ | 2645 | #if @GNULIB_SIGNBIT@ |
2205 | # if @REPLACE_SIGNBIT_USING_GCC@ | 2646 | # if (@REPLACE_SIGNBIT_USING_BUILTINS@ \ |
2647 | && (!defined __cplusplus || __cplusplus < 201103)) | ||
2206 | # undef signbit | 2648 | # undef signbit |
2207 | /* GCC 4.0 and newer provides three built-ins for signbit. */ | 2649 | /* GCC >= 4.0 and clang provide three built-ins for signbit. */ |
2208 | # define signbit(x) \ | 2650 | # define signbit(x) \ |
2209 | (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ | 2651 | (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ |
2210 | sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ | 2652 | sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ |
2211 | __builtin_signbitf (x)) | 2653 | __builtin_signbitf (x)) |
2212 | # endif | 2654 | # endif |
2213 | # if @REPLACE_SIGNBIT@ | 2655 | # if @REPLACE_SIGNBIT@ && !GNULIB_defined_signbit |
2214 | # undef signbit | 2656 | # undef signbit |
2215 | _GL_EXTERN_C int gl_signbitf (float arg); | 2657 | _GL_EXTERN_C int gl_signbitf (float arg); |
2216 | _GL_EXTERN_C int gl_signbitd (double arg); | 2658 | _GL_EXTERN_C int gl_signbitd (double arg); |
2217 | _GL_EXTERN_C int gl_signbitl (long double arg); | 2659 | _GL_EXTERN_C int gl_signbitl (long double arg); |
2218 | # if __GNUC__ >= 2 && !defined __STRICT_ANSI__ | 2660 | # if (__GNUC__ >= 2 || defined __clang__) && !defined __STRICT_ANSI__ |
2219 | # define _GL_NUM_UINT_WORDS(type) \ | 2661 | # define _GL_NUM_UINT_WORDS(type) \ |
2220 | ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) | 2662 | ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) |
2221 | # if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf | 2663 | # if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf |
@@ -2253,12 +2695,21 @@ _GL_EXTERN_C int gl_signbitl (long double arg); | |||
2253 | (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \ | 2695 | (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \ |
2254 | sizeof (x) == sizeof (double) ? gl_signbitd (x) : \ | 2696 | sizeof (x) == sizeof (double) ? gl_signbitd (x) : \ |
2255 | gl_signbitf (x)) | 2697 | gl_signbitf (x)) |
2698 | # define GNULIB_defined_signbit 1 | ||
2256 | # endif | 2699 | # endif |
2257 | # ifdef __cplusplus | 2700 | # ifdef __cplusplus |
2258 | # ifdef signbit | 2701 | # if defined signbit || defined GNULIB_NAMESPACE |
2259 | _GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit) | 2702 | _GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit) |
2260 | # undef signbit | 2703 | # undef signbit |
2261 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit) | 2704 | # if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined _AIX || (defined _WIN32 && !defined __CYGWIN__))) |
2705 | /* This platform's <cmath> possibly defines signbit through a set of inline | ||
2706 | functions. */ | ||
2707 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, rpl_signbit, bool) | ||
2708 | # define signbit rpl_signbit | ||
2709 | # define GNULIB_NAMESPACE_LACKS_SIGNBIT 1 | ||
2710 | # else | ||
2711 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, signbit, bool) | ||
2712 | # endif | ||
2262 | # endif | 2713 | # endif |
2263 | # endif | 2714 | # endif |
2264 | #elif defined GNULIB_POSIXCHECK | 2715 | #elif defined GNULIB_POSIXCHECK |
@@ -2272,4 +2723,5 @@ _GL_WARN_REAL_FLOATING_DECL (signbit); | |||
2272 | _GL_INLINE_HEADER_END | 2723 | _GL_INLINE_HEADER_END |
2273 | 2724 | ||
2274 | #endif /* _@GUARD_PREFIX@_MATH_H */ | 2725 | #endif /* _@GUARD_PREFIX@_MATH_H */ |
2726 | #endif /* _GL_INCLUDING_MATH_H */ | ||
2275 | #endif /* _@GUARD_PREFIX@_MATH_H */ | 2727 | #endif /* _@GUARD_PREFIX@_MATH_H */ |