Home | History | Annotate | Download | only in linux-lib
      1 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
      2 /* A GNU-like <math.h>.
      3 
      4    Copyright (C) 2002-2003, 2007-2012 Free Software Foundation, Inc.
      5 
      6    This program is free software: you can redistribute it and/or modify
      7    it under the terms of the GNU General Public License as published by
      8    the Free Software Foundation; either version 3 of the License, or
      9    (at your option) any later version.
     10 
     11    This program is distributed in the hope that it will be useful,
     12    but WITHOUT ANY WARRANTY; without even the implied warranty of
     13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14    GNU General Public License for more details.
     15 
     16    You should have received a copy of the GNU General Public License
     17    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     18 
     19 #ifndef _GL_MATH_H
     20 
     21 #if __GNUC__ >= 3
     22 #pragma GCC system_header
     23 #endif
     24 
     25 
     26 /* The include_next requires a split double-inclusion guard.  */
     27 #include_next <math.h>
     28 
     29 #ifndef _GL_MATH_H
     30 #define _GL_MATH_H
     31 
     32 _GL_INLINE_HEADER_BEGIN
     33 #ifndef _GL_MATH_INLINE
     34 # define _GL_MATH_INLINE _GL_INLINE
     35 #endif
     36 
     37 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
     38 #ifndef _GL_CXXDEFS_H
     39 #define _GL_CXXDEFS_H
     40 
     41 /* The three most frequent use cases of these macros are:
     42 
     43    * For providing a substitute for a function that is missing on some
     44      platforms, but is declared and works fine on the platforms on which
     45      it exists:
     46 
     47        #if @GNULIB_FOO@
     48        # if !@HAVE_FOO@
     49        _GL_FUNCDECL_SYS (foo, ...);
     50        # endif
     51        _GL_CXXALIAS_SYS (foo, ...);
     52        _GL_CXXALIASWARN (foo);
     53        #elif defined GNULIB_POSIXCHECK
     54        ...
     55        #endif
     56 
     57    * For providing a replacement for a function that exists on all platforms,
     58      but is broken/insufficient and needs to be replaced on some platforms:
     59 
     60        #if @GNULIB_FOO@
     61        # if @REPLACE_FOO@
     62        #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
     63        #   undef foo
     64        #   define foo rpl_foo
     65        #  endif
     66        _GL_FUNCDECL_RPL (foo, ...);
     67        _GL_CXXALIAS_RPL (foo, ...);
     68        # else
     69        _GL_CXXALIAS_SYS (foo, ...);
     70        # endif
     71        _GL_CXXALIASWARN (foo);
     72        #elif defined GNULIB_POSIXCHECK
     73        ...
     74        #endif
     75 
     76    * For providing a replacement for a function that exists on some platforms
     77      but is broken/insufficient and needs to be replaced on some of them and
     78      is additionally either missing or undeclared on some other platforms:
     79 
     80        #if @GNULIB_FOO@
     81        # if @REPLACE_FOO@
     82        #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
     83        #   undef foo
     84        #   define foo rpl_foo
     85        #  endif
     86        _GL_FUNCDECL_RPL (foo, ...);
     87        _GL_CXXALIAS_RPL (foo, ...);
     88        # else
     89        #  if !@HAVE_FOO@   or   if !@HAVE_DECL_FOO@
     90        _GL_FUNCDECL_SYS (foo, ...);
     91        #  endif
     92        _GL_CXXALIAS_SYS (foo, ...);
     93        # endif
     94        _GL_CXXALIASWARN (foo);
     95        #elif defined GNULIB_POSIXCHECK
     96        ...
     97        #endif
     98 */
     99 
    100 /* _GL_EXTERN_C declaration;
    101    performs the declaration with C linkage.  */
    102 #if defined __cplusplus
    103 # define _GL_EXTERN_C extern "C"
    104 #else
    105 # define _GL_EXTERN_C extern
    106 #endif
    107 
    108 /* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
    109    declares a replacement function, named rpl_func, with the given prototype,
    110    consisting of return type, parameters, and attributes.
    111    Example:
    112      _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
    113                                   _GL_ARG_NONNULL ((1)));
    114  */
    115 #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
    116   _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
    117 #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
    118   _GL_EXTERN_C rettype rpl_func parameters_and_attributes
    119 
    120 /* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
    121    declares the system function, named func, with the given prototype,
    122    consisting of return type, parameters, and attributes.
    123    Example:
    124      _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
    125                                   _GL_ARG_NONNULL ((1)));
    126  */
    127 #define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
    128   _GL_EXTERN_C rettype func parameters_and_attributes
    129 
    130 /* _GL_CXXALIAS_RPL (func, rettype, parameters);
    131    declares a C++ alias called GNULIB_NAMESPACE::func
    132    that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
    133    Example:
    134      _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
    135  */
    136 #define _GL_CXXALIAS_RPL(func,rettype,parameters) \
    137   _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
    138 #if defined __cplusplus && defined GNULIB_NAMESPACE
    139 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
    140     namespace GNULIB_NAMESPACE                                \
    141     {                                                         \
    142       rettype (*const func) parameters = ::rpl_func;          \
    143     }                                                         \
    144     _GL_EXTERN_C int _gl_cxxalias_dummy
    145 #else
    146 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
    147     _GL_EXTERN_C int _gl_cxxalias_dummy
    148 #endif
    149 
    150 /* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
    151    is like  _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
    152    except that the C function rpl_func may have a slightly different
    153    declaration.  A cast is used to silence the "invalid conversion" error
    154    that would otherwise occur.  */
    155 #if defined __cplusplus && defined GNULIB_NAMESPACE
    156 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
    157     namespace GNULIB_NAMESPACE                                     \
    158     {                                                              \
    159       rettype (*const func) parameters =                           \
    160         reinterpret_cast<rettype(*)parameters>(::rpl_func);        \
    161     }                                                              \
    162     _GL_EXTERN_C int _gl_cxxalias_dummy
    163 #else
    164 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
    165     _GL_EXTERN_C int _gl_cxxalias_dummy
    166 #endif
    167 
    168 /* _GL_CXXALIAS_SYS (func, rettype, parameters);
    169    declares a C++ alias called GNULIB_NAMESPACE::func
    170    that redirects to the system provided function func, if GNULIB_NAMESPACE
    171    is defined.
    172    Example:
    173      _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
    174  */
    175 #if defined __cplusplus && defined GNULIB_NAMESPACE
    176   /* If we were to write
    177        rettype (*const func) parameters = ::func;
    178      like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
    179      better (remove an indirection through a 'static' pointer variable),
    180      but then the _GL_CXXALIASWARN macro below would cause a warning not only
    181      for uses of ::func but also for uses of GNULIB_NAMESPACE::func.  */
    182 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
    183     namespace GNULIB_NAMESPACE                     \
    184     {                                              \
    185       static rettype (*func) parameters = ::func;  \
    186     }                                              \
    187     _GL_EXTERN_C int _gl_cxxalias_dummy
    188 #else
    189 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
    190     _GL_EXTERN_C int _gl_cxxalias_dummy
    191 #endif
    192 
    193 /* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
    194    is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
    195    except that the C function func may have a slightly different declaration.
    196    A cast is used to silence the "invalid conversion" error that would
    197    otherwise occur.  */
    198 #if defined __cplusplus && defined GNULIB_NAMESPACE
    199 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
    200     namespace GNULIB_NAMESPACE                          \
    201     {                                                   \
    202       static rettype (*func) parameters =               \
    203         reinterpret_cast<rettype(*)parameters>(::func); \
    204     }                                                   \
    205     _GL_EXTERN_C int _gl_cxxalias_dummy
    206 #else
    207 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
    208     _GL_EXTERN_C int _gl_cxxalias_dummy
    209 #endif
    210 
    211 /* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
    212    is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
    213    except that the C function is picked among a set of overloaded functions,
    214    namely the one with rettype2 and parameters2.  Two consecutive casts
    215    are used to silence the "cannot find a match" and "invalid conversion"
    216    errors that would otherwise occur.  */
    217 #if defined __cplusplus && defined GNULIB_NAMESPACE
    218   /* The outer cast must be a reinterpret_cast.
    219      The inner cast: When the function is defined as a set of overloaded
    220      functions, it works as a static_cast<>, choosing the designated variant.
    221      When the function is defined as a single variant, it works as a
    222      reinterpret_cast<>. The parenthesized cast syntax works both ways.  */
    223 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
    224     namespace GNULIB_NAMESPACE                                                \
    225     {                                                                         \
    226       static rettype (*func) parameters =                                     \
    227         reinterpret_cast<rettype(*)parameters>(                               \
    228           (rettype2(*)parameters2)(::func));                                  \
    229     }                                                                         \
    230     _GL_EXTERN_C int _gl_cxxalias_dummy
    231 #else
    232 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
    233     _GL_EXTERN_C int _gl_cxxalias_dummy
    234 #endif
    235 
    236 /* _GL_CXXALIASWARN (func);
    237    causes a warning to be emitted when ::func is used but not when
    238    GNULIB_NAMESPACE::func is used.  func must be defined without overloaded
    239    variants.  */
    240 #if defined __cplusplus && defined GNULIB_NAMESPACE
    241 # define _GL_CXXALIASWARN(func) \
    242    _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
    243 # define _GL_CXXALIASWARN_1(func,namespace) \
    244    _GL_CXXALIASWARN_2 (func, namespace)
    245 /* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
    246    we enable the warning only when not optimizing.  */
    247 # if !__OPTIMIZE__
    248 #  define _GL_CXXALIASWARN_2(func,namespace) \
    249     _GL_WARN_ON_USE (func, \
    250                      "The symbol ::" #func " refers to the system function. " \
    251                      "Use " #namespace "::" #func " instead.")
    252 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    253 #  define _GL_CXXALIASWARN_2(func,namespace) \
    254      extern __typeof__ (func) func
    255 # else
    256 #  define _GL_CXXALIASWARN_2(func,namespace) \
    257      _GL_EXTERN_C int _gl_cxxalias_dummy
    258 # endif
    259 #else
    260 # define _GL_CXXALIASWARN(func) \
    261     _GL_EXTERN_C int _gl_cxxalias_dummy
    262 #endif
    263 
    264 /* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
    265    causes a warning to be emitted when the given overloaded variant of ::func
    266    is used but not when GNULIB_NAMESPACE::func is used.  */
    267 #if defined __cplusplus && defined GNULIB_NAMESPACE
    268 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
    269    _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
    270                         GNULIB_NAMESPACE)
    271 # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
    272    _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
    273 /* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
    274    we enable the warning only when not optimizing.  */
    275 # if !__OPTIMIZE__
    276 #  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
    277     _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
    278                          "The symbol ::" #func " refers to the system function. " \
    279                          "Use " #namespace "::" #func " instead.")
    280 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    281 #  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
    282      extern __typeof__ (func) func
    283 # else
    284 #  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
    285      _GL_EXTERN_C int _gl_cxxalias_dummy
    286 # endif
    287 #else
    288 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
    289     _GL_EXTERN_C int _gl_cxxalias_dummy
    290 #endif
    291 
    292 #endif /* _GL_CXXDEFS_H */
    293 
    294 /* The definition of _GL_ARG_NONNULL is copied here.  */
    295 /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
    296    that the values passed as arguments n, ..., m must be non-NULL pointers.
    297    n = 1 stands for the first argument, n = 2 for the second argument etc.  */
    298 #ifndef _GL_ARG_NONNULL
    299 # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
    300 #  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
    301 # else
    302 #  define _GL_ARG_NONNULL(params)
    303 # endif
    304 #endif
    305 
    306 /* The definition of _GL_WARN_ON_USE is copied here.  */
    307 #ifndef _GL_WARN_ON_USE
    308 
    309 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
    310 /* A compiler attribute is available in gcc versions 4.3.0 and later.  */
    311 #  define _GL_WARN_ON_USE(function, message) \
    312 extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
    313 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    314 /* Verify the existence of the function.  */
    315 #  define _GL_WARN_ON_USE(function, message) \
    316 extern __typeof__ (function) function
    317 # else /* Unsupported.  */
    318 #  define _GL_WARN_ON_USE(function, message) \
    319 _GL_WARN_EXTERN_C int _gl_warn_on_use
    320 # endif
    321 #endif
    322 
    323 /* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
    324    is like _GL_WARN_ON_USE (function, "string"), except that the function is
    325    declared with the given prototype, consisting of return type, parameters,
    326    and attributes.
    327    This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
    328    not work in this case.  */
    329 #ifndef _GL_WARN_ON_USE_CXX
    330 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
    331 #  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
    332 extern rettype function parameters_and_attributes \
    333      __attribute__ ((__warning__ (msg)))
    334 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    335 /* Verify the existence of the function.  */
    336 #  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
    337 extern rettype function parameters_and_attributes
    338 # else /* Unsupported.  */
    339 #  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
    340 _GL_WARN_EXTERN_C int _gl_warn_on_use
    341 # endif
    342 #endif
    343 
    344 /* _GL_WARN_EXTERN_C declaration;
    345    performs the declaration with C linkage.  */
    346 #ifndef _GL_WARN_EXTERN_C
    347 # if defined __cplusplus
    348 #  define _GL_WARN_EXTERN_C extern "C"
    349 # else
    350 #  define _GL_WARN_EXTERN_C extern
    351 # endif
    352 #endif
    353 
    354 #ifdef __cplusplus
    355 /* Helper macros to define type-generic function FUNC as overloaded functions,
    356    rather than as macros like in C.  POSIX declares these with an argument of
    357    real-floating (that is, one of float, double, or long double).  */
    358 # define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \
    359 static inline int                                                   \
    360 _gl_cxx_ ## func ## f (float f)                                     \
    361 {                                                                   \
    362   return func (f);                                                  \
    363 }                                                                   \
    364 static inline int                                                   \
    365 _gl_cxx_ ## func ## d (double d)                                    \
    366 {                                                                   \
    367   return func (d);                                                  \
    368 }                                                                   \
    369 static inline int                                                   \
    370 _gl_cxx_ ## func ## l (long double l)                               \
    371 {                                                                   \
    372   return func (l);                                                  \
    373 }
    374 # define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func) \
    375 inline int                                                          \
    376 func (float f)                                                      \
    377 {                                                                   \
    378   return _gl_cxx_ ## func ## f (f);                                 \
    379 }                                                                   \
    380 inline int                                                          \
    381 func (double d)                                                     \
    382 {                                                                   \
    383   return _gl_cxx_ ## func ## d (d);                                 \
    384 }                                                                   \
    385 inline int                                                          \
    386 func (long double l)                                                \
    387 {                                                                   \
    388   return _gl_cxx_ ## func ## l (l);                                 \
    389 }
    390 #endif
    391 
    392 /* Helper macros to define a portability warning for the
    393    classification macro FUNC called with VALUE.  POSIX declares the
    394    classification macros with an argument of real-floating (that is,
    395    one of float, double, or long double).  */
    396 #define _GL_WARN_REAL_FLOATING_DECL(func) \
    397 _GL_MATH_INLINE int                                                 \
    398 rpl_ ## func ## f (float f)                                         \
    399 {                                                                   \
    400   return func (f);                                                  \
    401 }                                                                   \
    402 _GL_MATH_INLINE int                                                 \
    403 rpl_ ## func ## d (double d)                                        \
    404 {                                                                   \
    405   return func (d);                                                  \
    406 }                                                                   \
    407 _GL_MATH_INLINE int                                                 \
    408 rpl_ ## func ## l (long double l)                                   \
    409 {                                                                   \
    410   return func (l);                                                  \
    411 }                                                                   \
    412 _GL_WARN_ON_USE (rpl_ ## func ## f, #func " is unportable - "       \
    413                  "use gnulib module " #func " for portability");    \
    414 _GL_WARN_ON_USE (rpl_ ## func ## d, #func " is unportable - "       \
    415                  "use gnulib module " #func " for portability");    \
    416 _GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - "       \
    417                  "use gnulib module " #func " for portability")
    418 #define _GL_WARN_REAL_FLOATING_IMPL(func, value) \
    419   (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value)     \
    420    : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value)  \
    421    : rpl_ ## func ## l (value))
    422 
    423 
    424 #if 0
    425 /* Pull in a function that fixes the 'int' to 'long double' conversion
    426    of glibc 2.7.  */
    427 _GL_EXTERN_C void _Qp_itoq (long double *, int);
    428 static void (*_gl_math_fix_itold) (long double *, int) = _Qp_itoq;
    429 #endif
    430 
    431 
    432 /* POSIX allows platforms that don't support NAN.  But all major
    433    machines in the past 15 years have supported something close to
    434    IEEE NaN, so we define this unconditionally.  We also must define
    435    it on platforms like Solaris 10, where NAN is present but defined
    436    as a function pointer rather than a floating point constant.  */
    437 #if !defined NAN || 0
    438 # if !GNULIB_defined_NAN
    439 #  undef NAN
    440   /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler
    441      choke on the expression 0.0 / 0.0.  */
    442 #  if defined __DECC || defined _MSC_VER
    443 _GL_MATH_INLINE float
    444 _NaN ()
    445 {
    446   static float zero = 0.0f;
    447   return zero / zero;
    448 }
    449 #   define NAN (_NaN())
    450 #  else
    451 #   define NAN (0.0f / 0.0f)
    452 #  endif
    453 #  define GNULIB_defined_NAN 1
    454 # endif
    455 #endif
    456 
    457 /* Solaris 10 defines HUGE_VAL, but as a function pointer rather
    458    than a floating point constant.  */
    459 #if 0
    460 # undef HUGE_VALF
    461 # define HUGE_VALF (1.0f / 0.0f)
    462 # undef HUGE_VAL
    463 # define HUGE_VAL (1.0 / 0.0)
    464 # undef HUGE_VALL
    465 # define HUGE_VALL (1.0L / 0.0L)
    466 #endif
    467 
    468 /* HUGE_VALF is a 'float' Infinity.  */
    469 #ifndef HUGE_VALF
    470 # if defined _MSC_VER
    471 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f.  */
    472 #  define HUGE_VALF (1e25f * 1e25f)
    473 # else
    474 #  define HUGE_VALF (1.0f / 0.0f)
    475 # endif
    476 #endif
    477 
    478 /* HUGE_VAL is a 'double' Infinity.  */
    479 #ifndef HUGE_VAL
    480 # if defined _MSC_VER
    481 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0.  */
    482 #  define HUGE_VAL (1e250 * 1e250)
    483 # else
    484 #  define HUGE_VAL (1.0 / 0.0)
    485 # endif
    486 #endif
    487 
    488 /* HUGE_VALL is a 'long double' Infinity.  */
    489 #ifndef HUGE_VALL
    490 # if defined _MSC_VER
    491 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L.  */
    492 #  define HUGE_VALL (1e250L * 1e250L)
    493 # else
    494 #  define HUGE_VALL (1.0L / 0.0L)
    495 # endif
    496 #endif
    497 
    498 
    499 /* Ensure FP_ILOGB0 and FP_ILOGBNAN are defined.  */
    500 #if !(defined FP_ILOGB0 && defined FP_ILOGBNAN)
    501 # if defined __NetBSD__ || defined __sgi
    502   /* NetBSD, IRIX 6.5: match what ilogb() does */
    503 #  define FP_ILOGB0   (- 2147483647 - 1) /* INT_MIN */
    504 #  define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
    505 # elif defined _AIX
    506   /* AIX 5.1: match what ilogb() does in AIX >= 5.2 */
    507 #  define FP_ILOGB0   (- 2147483647 - 1) /* INT_MIN */
    508 #  define FP_ILOGBNAN 2147483647 /* INT_MAX */
    509 # elif defined __sun
    510   /* Solaris 9: match what ilogb() does */
    511 #  define FP_ILOGB0   (- 2147483647) /* - INT_MAX */
    512 #  define FP_ILOGBNAN 2147483647 /* INT_MAX */
    513 # else
    514   /* Gnulib defined values.  */
    515 #  define FP_ILOGB0   (- 2147483647) /* - INT_MAX */
    516 #  define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
    517 # endif
    518 #endif
    519 
    520 
    521 #if 0
    522 # if !1
    523 #  undef acosf
    524 _GL_FUNCDECL_SYS (acosf, float, (float x));
    525 # endif
    526 _GL_CXXALIAS_SYS (acosf, float, (float x));
    527 _GL_CXXALIASWARN (acosf);
    528 #elif defined GNULIB_POSIXCHECK
    529 # undef acosf
    530 # if HAVE_RAW_DECL_ACOSF
    531 _GL_WARN_ON_USE (acosf, "acosf is unportable - "
    532                  "use gnulib module acosf for portability");
    533 # endif
    534 #endif
    535 
    536 #if 0
    537 # if !1 || !1
    538 #  undef acosl
    539 _GL_FUNCDECL_SYS (acosl, long double, (long double x));
    540 # endif
    541 _GL_CXXALIAS_SYS (acosl, long double, (long double x));
    542 _GL_CXXALIASWARN (acosl);
    543 #elif defined GNULIB_POSIXCHECK
    544 # undef acosl
    545 # if HAVE_RAW_DECL_ACOSL
    546 _GL_WARN_ON_USE (acosl, "acosl is unportable - "
    547                  "use gnulib module acosl for portability");
    548 # endif
    549 #endif
    550 
    551 
    552 #if 0
    553 # if !1
    554 #  undef asinf
    555 _GL_FUNCDECL_SYS (asinf, float, (float x));
    556 # endif
    557 _GL_CXXALIAS_SYS (asinf, float, (float x));
    558 _GL_CXXALIASWARN (asinf);
    559 #elif defined GNULIB_POSIXCHECK
    560 # undef asinf
    561 # if HAVE_RAW_DECL_ASINF
    562 _GL_WARN_ON_USE (asinf, "asinf is unportable - "
    563                  "use gnulib module asinf for portability");
    564 # endif
    565 #endif
    566 
    567 #if 0
    568 # if !1 || !1
    569 #  undef asinl
    570 _GL_FUNCDECL_SYS (asinl, long double, (long double x));
    571 # endif
    572 _GL_CXXALIAS_SYS (asinl, long double, (long double x));
    573 _GL_CXXALIASWARN (asinl);
    574 #elif defined GNULIB_POSIXCHECK
    575 # undef asinl
    576 # if HAVE_RAW_DECL_ASINL
    577 _GL_WARN_ON_USE (asinl, "asinl is unportable - "
    578                  "use gnulib module asinl for portability");
    579 # endif
    580 #endif
    581 
    582 
    583 #if 0
    584 # if !1
    585 #  undef atanf
    586 _GL_FUNCDECL_SYS (atanf, float, (float x));
    587 # endif
    588 _GL_CXXALIAS_SYS (atanf, float, (float x));
    589 _GL_CXXALIASWARN (atanf);
    590 #elif defined GNULIB_POSIXCHECK
    591 # undef atanf
    592 # if HAVE_RAW_DECL_ATANF
    593 _GL_WARN_ON_USE (atanf, "atanf is unportable - "
    594                  "use gnulib module atanf for portability");
    595 # endif
    596 #endif
    597 
    598 #if 0
    599 # if !1 || !1
    600 #  undef atanl
    601 _GL_FUNCDECL_SYS (atanl, long double, (long double x));
    602 # endif
    603 _GL_CXXALIAS_SYS (atanl, long double, (long double x));
    604 _GL_CXXALIASWARN (atanl);
    605 #elif defined GNULIB_POSIXCHECK
    606 # undef atanl
    607 # if HAVE_RAW_DECL_ATANL
    608 _GL_WARN_ON_USE (atanl, "atanl is unportable - "
    609                  "use gnulib module atanl for portability");
    610 # endif
    611 #endif
    612 
    613 
    614 #if 0
    615 # if !1
    616 #  undef atan2f
    617 _GL_FUNCDECL_SYS (atan2f, float, (float y, float x));
    618 # endif
    619 _GL_CXXALIAS_SYS (atan2f, float, (float y, float x));
    620 _GL_CXXALIASWARN (atan2f);
    621 #elif defined GNULIB_POSIXCHECK
    622 # undef atan2f
    623 # if HAVE_RAW_DECL_ATAN2F
    624 _GL_WARN_ON_USE (atan2f, "atan2f is unportable - "
    625                  "use gnulib module atan2f for portability");
    626 # endif
    627 #endif
    628 
    629 
    630 #if 0
    631 # if 0
    632 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    633 #   undef cbrtf
    634 #   define cbrtf rpl_cbrtf
    635 #  endif
    636 _GL_FUNCDECL_RPL (cbrtf, float, (float x));
    637 _GL_CXXALIAS_RPL (cbrtf, float, (float x));
    638 # else
    639 #  if !1
    640 _GL_FUNCDECL_SYS (cbrtf, float, (float x));
    641 #  endif
    642 _GL_CXXALIAS_SYS (cbrtf, float, (float x));
    643 # endif
    644 _GL_CXXALIASWARN (cbrtf);
    645 #elif defined GNULIB_POSIXCHECK
    646 # undef cbrtf
    647 # if HAVE_RAW_DECL_CBRTF
    648 _GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - "
    649                  "use gnulib module cbrtf for portability");
    650 # endif
    651 #endif
    652 
    653 #if 0
    654 # if !1
    655 _GL_FUNCDECL_SYS (cbrt, double, (double x));
    656 # endif
    657 _GL_CXXALIAS_SYS (cbrt, double, (double x));
    658 _GL_CXXALIASWARN (cbrt);
    659 #elif defined GNULIB_POSIXCHECK
    660 # undef cbrt
    661 # if HAVE_RAW_DECL_CBRT
    662 _GL_WARN_ON_USE (cbrt, "cbrt is unportable - "
    663                  "use gnulib module cbrt for portability");
    664 # endif
    665 #endif
    666 
    667 #if 0
    668 # if 0
    669 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    670 #   undef cbrtl
    671 #   define cbrtl rpl_cbrtl
    672 #  endif
    673 _GL_FUNCDECL_RPL (cbrtl, long double, (long double x));
    674 _GL_CXXALIAS_RPL (cbrtl, long double, (long double x));
    675 # else
    676 #  if !1
    677 _GL_FUNCDECL_SYS (cbrtl, long double, (long double x));
    678 #  endif
    679 _GL_CXXALIAS_SYS (cbrtl, long double, (long double x));
    680 # endif
    681 _GL_CXXALIASWARN (cbrtl);
    682 #elif defined GNULIB_POSIXCHECK
    683 # undef cbrtl
    684 # if HAVE_RAW_DECL_CBRTL
    685 _GL_WARN_ON_USE (cbrtl, "cbrtl is unportable - "
    686                  "use gnulib module cbrtl for portability");
    687 # endif
    688 #endif
    689 
    690 
    691 #if 0
    692 # if 0
    693 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    694 #   undef ceilf
    695 #   define ceilf rpl_ceilf
    696 #  endif
    697 _GL_FUNCDECL_RPL (ceilf, float, (float x));
    698 _GL_CXXALIAS_RPL (ceilf, float, (float x));
    699 # else
    700 #  if !1
    701 #   undef ceilf
    702 _GL_FUNCDECL_SYS (ceilf, float, (float x));
    703 #  endif
    704 _GL_CXXALIAS_SYS (ceilf, float, (float x));
    705 # endif
    706 _GL_CXXALIASWARN (ceilf);
    707 #elif defined GNULIB_POSIXCHECK
    708 # undef ceilf
    709 # if HAVE_RAW_DECL_CEILF
    710 _GL_WARN_ON_USE (ceilf, "ceilf is unportable - "
    711                  "use gnulib module ceilf for portability");
    712 # endif
    713 #endif
    714 
    715 #if 0
    716 # if 0
    717 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    718 #   define ceil rpl_ceil
    719 #  endif
    720 _GL_FUNCDECL_RPL (ceil, double, (double x));
    721 _GL_CXXALIAS_RPL (ceil, double, (double x));
    722 # else
    723 _GL_CXXALIAS_SYS (ceil, double, (double x));
    724 # endif
    725 _GL_CXXALIASWARN (ceil);
    726 #endif
    727 
    728 #if 0
    729 # if 0
    730 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    731 #   undef ceill
    732 #   define ceill rpl_ceill
    733 #  endif
    734 _GL_FUNCDECL_RPL (ceill, long double, (long double x));
    735 _GL_CXXALIAS_RPL (ceill, long double, (long double x));
    736 # else
    737 #  if !1
    738 #   undef ceill
    739 _GL_FUNCDECL_SYS (ceill, long double, (long double x));
    740 #  endif
    741 _GL_CXXALIAS_SYS (ceill, long double, (long double x));
    742 # endif
    743 _GL_CXXALIASWARN (ceill);
    744 #elif defined GNULIB_POSIXCHECK
    745 # undef ceill
    746 # if HAVE_RAW_DECL_CEILL
    747 _GL_WARN_ON_USE (ceill, "ceill is unportable - "
    748                  "use gnulib module ceill for portability");
    749 # endif
    750 #endif
    751 
    752 
    753 #if 0
    754 # if !1
    755 _GL_FUNCDECL_SYS (copysignf, float, (float x, float y));
    756 # endif
    757 _GL_CXXALIAS_SYS (copysignf, float, (float x, float y));
    758 _GL_CXXALIASWARN (copysignf);
    759 #elif defined GNULIB_POSIXCHECK
    760 # undef copysignf
    761 # if HAVE_RAW_DECL_COPYSIGNF
    762 _GL_WARN_ON_USE (copysignf, "copysignf is unportable - "
    763                  "use gnulib module copysignf for portability");
    764 # endif
    765 #endif
    766 
    767 #if 0
    768 # if !1
    769 _GL_FUNCDECL_SYS (copysign, double, (double x, double y));
    770 # endif
    771 _GL_CXXALIAS_SYS (copysign, double, (double x, double y));
    772 _GL_CXXALIASWARN (copysign);
    773 #elif defined GNULIB_POSIXCHECK
    774 # undef copysign
    775 # if HAVE_RAW_DECL_COPYSIGN
    776 _GL_WARN_ON_USE (copysign, "copysign is unportable - "
    777                  "use gnulib module copysign for portability");
    778 # endif
    779 #endif
    780 
    781 #if 0
    782 # if !1
    783 _GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y));
    784 # endif
    785 _GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y));
    786 _GL_CXXALIASWARN (copysignl);
    787 #elif defined GNULIB_POSIXCHECK
    788 # undef copysignl
    789 # if HAVE_RAW_DECL_COPYSIGNL
    790 _GL_WARN_ON_USE (copysign, "copysignl is unportable - "
    791                  "use gnulib module copysignl for portability");
    792 # endif
    793 #endif
    794 
    795 
    796 #if 0
    797 # if !1
    798 #  undef cosf
    799 _GL_FUNCDECL_SYS (cosf, float, (float x));
    800 # endif
    801 _GL_CXXALIAS_SYS (cosf, float, (float x));
    802 _GL_CXXALIASWARN (cosf);
    803 #elif defined GNULIB_POSIXCHECK
    804 # undef cosf
    805 # if HAVE_RAW_DECL_COSF
    806 _GL_WARN_ON_USE (cosf, "cosf is unportable - "
    807                  "use gnulib module cosf for portability");
    808 # endif
    809 #endif
    810 
    811 #if 0
    812 # if !1 || !1
    813 #  undef cosl
    814 _GL_FUNCDECL_SYS (cosl, long double, (long double x));
    815 # endif
    816 _GL_CXXALIAS_SYS (cosl, long double, (long double x));
    817 _GL_CXXALIASWARN (cosl);
    818 #elif defined GNULIB_POSIXCHECK
    819 # undef cosl
    820 # if HAVE_RAW_DECL_COSL
    821 _GL_WARN_ON_USE (cosl, "cosl is unportable - "
    822                  "use gnulib module cosl for portability");
    823 # endif
    824 #endif
    825 
    826 
    827 #if 0
    828 # if !1
    829 #  undef coshf
    830 _GL_FUNCDECL_SYS (coshf, float, (float x));
    831 # endif
    832 _GL_CXXALIAS_SYS (coshf, float, (float x));
    833 _GL_CXXALIASWARN (coshf);
    834 #elif defined GNULIB_POSIXCHECK
    835 # undef coshf
    836 # if HAVE_RAW_DECL_COSHF
    837 _GL_WARN_ON_USE (coshf, "coshf is unportable - "
    838                  "use gnulib module coshf for portability");
    839 # endif
    840 #endif
    841 
    842 
    843 #if 0
    844 # if !1
    845 #  undef expf
    846 _GL_FUNCDECL_SYS (expf, float, (float x));
    847 # endif
    848 _GL_CXXALIAS_SYS (expf, float, (float x));
    849 _GL_CXXALIASWARN (expf);
    850 #elif defined GNULIB_POSIXCHECK
    851 # undef expf
    852 # if HAVE_RAW_DECL_EXPF
    853 _GL_WARN_ON_USE (expf, "expf is unportable - "
    854                  "use gnulib module expf for portability");
    855 # endif
    856 #endif
    857 
    858 #if 0
    859 # if !1 || !1
    860 #  undef expl
    861 _GL_FUNCDECL_SYS (expl, long double, (long double x));
    862 # endif
    863 _GL_CXXALIAS_SYS (expl, long double, (long double x));
    864 _GL_CXXALIASWARN (expl);
    865 #elif defined GNULIB_POSIXCHECK
    866 # undef expl
    867 # if HAVE_RAW_DECL_EXPL
    868 _GL_WARN_ON_USE (expl, "expl is unportable - "
    869                  "use gnulib module expl for portability");
    870 # endif
    871 #endif
    872 
    873 
    874 #if 0
    875 # if !1
    876 _GL_FUNCDECL_SYS (exp2f, float, (float x));
    877 # endif
    878 _GL_CXXALIAS_SYS (exp2f, float, (float x));
    879 _GL_CXXALIASWARN (exp2f);
    880 #elif defined GNULIB_POSIXCHECK
    881 # undef exp2f
    882 # if HAVE_RAW_DECL_EXP2F
    883 _GL_WARN_ON_USE (exp2f, "exp2f is unportable - "
    884                  "use gnulib module exp2f for portability");
    885 # endif
    886 #endif
    887 
    888 #if 0
    889 # if 0
    890 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    891 #   undef exp2
    892 #   define exp2 rpl_exp2
    893 #  endif
    894 _GL_FUNCDECL_RPL (exp2, double, (double x));
    895 _GL_CXXALIAS_RPL (exp2, double, (double x));
    896 # else
    897 #  if !1
    898 _GL_FUNCDECL_SYS (exp2, double, (double x));
    899 #  endif
    900 _GL_CXXALIAS_SYS (exp2, double, (double x));
    901 # endif
    902 _GL_CXXALIASWARN (exp2);
    903 #elif defined GNULIB_POSIXCHECK
    904 # undef exp2
    905 # if HAVE_RAW_DECL_EXP2
    906 _GL_WARN_ON_USE (exp2, "exp2 is unportable - "
    907                  "use gnulib module exp2 for portability");
    908 # endif
    909 #endif
    910 
    911 #if 0
    912 # if 0
    913 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    914 #   undef exp2l
    915 #   define exp2l rpl_exp2l
    916 #  endif
    917 _GL_FUNCDECL_RPL (exp2l, long double, (long double x));
    918 _GL_CXXALIAS_RPL (exp2l, long double, (long double x));
    919 # else
    920 #  if !1
    921 #   undef exp2l
    922 _GL_FUNCDECL_SYS (exp2l, long double, (long double x));
    923 #  endif
    924 _GL_CXXALIAS_SYS (exp2l, long double, (long double x));
    925 # endif
    926 _GL_CXXALIASWARN (exp2l);
    927 #elif defined GNULIB_POSIXCHECK
    928 # undef exp2l
    929 # if HAVE_RAW_DECL_EXP2L
    930 _GL_WARN_ON_USE (exp2l, "exp2l is unportable - "
    931                  "use gnulib module exp2l for portability");
    932 # endif
    933 #endif
    934 
    935 
    936 #if 0
    937 # if 0
    938 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    939 #   undef expm1f
    940 #   define expm1f rpl_expm1f
    941 #  endif
    942 _GL_FUNCDECL_RPL (expm1f, float, (float x));
    943 _GL_CXXALIAS_RPL (expm1f, float, (float x));
    944 # else
    945 #  if !1
    946 _GL_FUNCDECL_SYS (expm1f, float, (float x));
    947 #  endif
    948 _GL_CXXALIAS_SYS (expm1f, float, (float x));
    949 # endif
    950 _GL_CXXALIASWARN (expm1f);
    951 #elif defined GNULIB_POSIXCHECK
    952 # undef expm1f
    953 # if HAVE_RAW_DECL_EXPM1F
    954 _GL_WARN_ON_USE (expm1f, "expm1f is unportable - "
    955                  "use gnulib module expm1f for portability");
    956 # endif
    957 #endif
    958 
    959 #if 0
    960 # if 0
    961 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    962 #   undef expm1
    963 #   define expm1 rpl_expm1
    964 #  endif
    965 _GL_FUNCDECL_RPL (expm1, double, (double x));
    966 _GL_CXXALIAS_RPL (expm1, double, (double x));
    967 # else
    968 #  if !1
    969 _GL_FUNCDECL_SYS (expm1, double, (double x));
    970 #  endif
    971 _GL_CXXALIAS_SYS (expm1, double, (double x));
    972 # endif
    973 _GL_CXXALIASWARN (expm1);
    974 #elif defined GNULIB_POSIXCHECK
    975 # undef expm1
    976 # if HAVE_RAW_DECL_EXPM1
    977 _GL_WARN_ON_USE (expm1, "expm1 is unportable - "
    978                  "use gnulib module expm1 for portability");
    979 # endif
    980 #endif
    981 
    982 #if 0
    983 # if !1
    984 #  undef expm1l
    985 _GL_FUNCDECL_SYS (expm1l, long double, (long double x));
    986 # endif
    987 _GL_CXXALIAS_SYS (expm1l, long double, (long double x));
    988 _GL_CXXALIASWARN (expm1l);
    989 #elif defined GNULIB_POSIXCHECK
    990 # undef expm1l
    991 # if HAVE_RAW_DECL_EXPM1L
    992 _GL_WARN_ON_USE (expm1l, "expm1l is unportable - "
    993                  "use gnulib module expm1l for portability");
    994 # endif
    995 #endif
    996 
    997 
    998 #if 0
    999 # if !1
   1000 #  undef fabsf
   1001 _GL_FUNCDECL_SYS (fabsf, float, (float x));
   1002 # endif
   1003 _GL_CXXALIAS_SYS (fabsf, float, (float x));
   1004 _GL_CXXALIASWARN (fabsf);
   1005 #elif defined GNULIB_POSIXCHECK
   1006 # undef fabsf
   1007 # if HAVE_RAW_DECL_FABSF
   1008 _GL_WARN_ON_USE (fabsf, "fabsf is unportable - "
   1009                  "use gnulib module fabsf for portability");
   1010 # endif
   1011 #endif
   1012 
   1013 #if 0
   1014 # if 0
   1015 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1016 #   undef fabsl
   1017 #   define fabsl rpl_fabsl
   1018 #  endif
   1019 _GL_FUNCDECL_RPL (fabsl, long double, (long double x));
   1020 _GL_CXXALIAS_RPL (fabsl, long double, (long double x));
   1021 # else
   1022 #  if !1
   1023 #   undef fabsl
   1024 _GL_FUNCDECL_SYS (fabsl, long double, (long double x));
   1025 #  endif
   1026 _GL_CXXALIAS_SYS (fabsl, long double, (long double x));
   1027 # endif
   1028 _GL_CXXALIASWARN (fabsl);
   1029 #elif defined GNULIB_POSIXCHECK
   1030 # undef fabsl
   1031 # if HAVE_RAW_DECL_FABSL
   1032 _GL_WARN_ON_USE (fabsl, "fabsl is unportable - "
   1033                  "use gnulib module fabsl for portability");
   1034 # endif
   1035 #endif
   1036 
   1037 
   1038 #if 0
   1039 # if 0
   1040 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1041 #   undef floorf
   1042 #   define floorf rpl_floorf
   1043 #  endif
   1044 _GL_FUNCDECL_RPL (floorf, float, (float x));
   1045 _GL_CXXALIAS_RPL (floorf, float, (float x));
   1046 # else
   1047 #  if !1
   1048 #   undef floorf
   1049 _GL_FUNCDECL_SYS (floorf, float, (float x));
   1050 #  endif
   1051 _GL_CXXALIAS_SYS (floorf, float, (float x));
   1052 # endif
   1053 _GL_CXXALIASWARN (floorf);
   1054 #elif defined GNULIB_POSIXCHECK
   1055 # undef floorf
   1056 # if HAVE_RAW_DECL_FLOORF
   1057 _GL_WARN_ON_USE (floorf, "floorf is unportable - "
   1058                  "use gnulib module floorf for portability");
   1059 # endif
   1060 #endif
   1061 
   1062 #if 0
   1063 # if 0
   1064 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1065 #   define floor rpl_floor
   1066 #  endif
   1067 _GL_FUNCDECL_RPL (floor, double, (double x));
   1068 _GL_CXXALIAS_RPL (floor, double, (double x));
   1069 # else
   1070 _GL_CXXALIAS_SYS (floor, double, (double x));
   1071 # endif
   1072 _GL_CXXALIASWARN (floor);
   1073 #endif
   1074 
   1075 #if 0
   1076 # if 0
   1077 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1078 #   undef floorl
   1079 #   define floorl rpl_floorl
   1080 #  endif
   1081 _GL_FUNCDECL_RPL (floorl, long double, (long double x));
   1082 _GL_CXXALIAS_RPL (floorl, long double, (long double x));
   1083 # else
   1084 #  if !1
   1085 #   undef floorl
   1086 _GL_FUNCDECL_SYS (floorl, long double, (long double x));
   1087 #  endif
   1088 _GL_CXXALIAS_SYS (floorl, long double, (long double x));
   1089 # endif
   1090 _GL_CXXALIASWARN (floorl);
   1091 #elif defined GNULIB_POSIXCHECK
   1092 # undef floorl
   1093 # if HAVE_RAW_DECL_FLOORL
   1094 _GL_WARN_ON_USE (floorl, "floorl is unportable - "
   1095                  "use gnulib module floorl for portability");
   1096 # endif
   1097 #endif
   1098 
   1099 
   1100 #if 0
   1101 # if 0
   1102 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1103 #   undef fmaf
   1104 #   define fmaf rpl_fmaf
   1105 #  endif
   1106 _GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z));
   1107 _GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z));
   1108 # else
   1109 #  if !1
   1110 _GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z));
   1111 #  endif
   1112 _GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z));
   1113 # endif
   1114 _GL_CXXALIASWARN (fmaf);
   1115 #elif defined GNULIB_POSIXCHECK
   1116 # undef fmaf
   1117 # if HAVE_RAW_DECL_FMAF
   1118 _GL_WARN_ON_USE (fmaf, "fmaf is unportable - "
   1119                  "use gnulib module fmaf for portability");
   1120 # endif
   1121 #endif
   1122 
   1123 #if 0
   1124 # if 0
   1125 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1126 #   undef fma
   1127 #   define fma rpl_fma
   1128 #  endif
   1129 _GL_FUNCDECL_RPL (fma, double, (double x, double y, double z));
   1130 _GL_CXXALIAS_RPL (fma, double, (double x, double y, double z));
   1131 # else
   1132 #  if !1
   1133 _GL_FUNCDECL_SYS (fma, double, (double x, double y, double z));
   1134 #  endif
   1135 _GL_CXXALIAS_SYS (fma, double, (double x, double y, double z));
   1136 # endif
   1137 _GL_CXXALIASWARN (fma);
   1138 #elif defined GNULIB_POSIXCHECK
   1139 # undef fma
   1140 # if HAVE_RAW_DECL_FMA
   1141 _GL_WARN_ON_USE (fma, "fma is unportable - "
   1142                  "use gnulib module fma for portability");
   1143 # endif
   1144 #endif
   1145 
   1146 #if 0
   1147 # if 0
   1148 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1149 #   undef fmal
   1150 #   define fmal rpl_fmal
   1151 #  endif
   1152 _GL_FUNCDECL_RPL (fmal, long double,
   1153                   (long double x, long double y, long double z));
   1154 _GL_CXXALIAS_RPL (fmal, long double,
   1155                   (long double x, long double y, long double z));
   1156 # else
   1157 #  if !1
   1158 #   undef fmal
   1159 _GL_FUNCDECL_SYS (fmal, long double,
   1160                   (long double x, long double y, long double z));
   1161 #  endif
   1162 _GL_CXXALIAS_SYS (fmal, long double,
   1163                   (long double x, long double y, long double z));
   1164 # endif
   1165 _GL_CXXALIASWARN (fmal);
   1166 #elif defined GNULIB_POSIXCHECK
   1167 # undef fmal
   1168 # if HAVE_RAW_DECL_FMAL
   1169 _GL_WARN_ON_USE (fmal, "fmal is unportable - "
   1170                  "use gnulib module fmal for portability");
   1171 # endif
   1172 #endif
   1173 
   1174 
   1175 #if 0
   1176 # if 0
   1177 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1178 #   undef fmodf
   1179 #   define fmodf rpl_fmodf
   1180 #  endif
   1181 _GL_FUNCDECL_RPL (fmodf, float, (float x, float y));
   1182 _GL_CXXALIAS_RPL (fmodf, float, (float x, float y));
   1183 # else
   1184 #  if !1
   1185 #   undef fmodf
   1186 _GL_FUNCDECL_SYS (fmodf, float, (float x, float y));
   1187 #  endif
   1188 _GL_CXXALIAS_SYS (fmodf, float, (float x, float y));
   1189 # endif
   1190 _GL_CXXALIASWARN (fmodf);
   1191 #elif defined GNULIB_POSIXCHECK
   1192 # undef fmodf
   1193 # if HAVE_RAW_DECL_FMODF
   1194 _GL_WARN_ON_USE (fmodf, "fmodf is unportable - "
   1195                  "use gnulib module fmodf for portability");
   1196 # endif
   1197 #endif
   1198 
   1199 #if 0
   1200 # if 0
   1201 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1202 #   undef fmod
   1203 #   define fmod rpl_fmod
   1204 #  endif
   1205 _GL_FUNCDECL_RPL (fmod, double, (double x, double y));
   1206 _GL_CXXALIAS_RPL (fmod, double, (double x, double y));
   1207 # else
   1208 _GL_CXXALIAS_SYS (fmod, double, (double x, double y));
   1209 # endif
   1210 _GL_CXXALIASWARN (fmod);
   1211 #elif defined GNULIB_POSIXCHECK
   1212 # undef fmod
   1213 # if HAVE_RAW_DECL_FMOD
   1214 _GL_WARN_ON_USE (fmod, "fmod has portability problems - "
   1215                  "use gnulib module fmod for portability");
   1216 # endif
   1217 #endif
   1218 
   1219 #if 0
   1220 # if 0
   1221 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1222 #   undef fmodl
   1223 #   define fmodl rpl_fmodl
   1224 #  endif
   1225 _GL_FUNCDECL_RPL (fmodl, long double, (long double x, long double y));
   1226 _GL_CXXALIAS_RPL (fmodl, long double, (long double x, long double y));
   1227 # else
   1228 #  if !1
   1229 #   undef fmodl
   1230 _GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y));
   1231 #  endif
   1232 _GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y));
   1233 # endif
   1234 _GL_CXXALIASWARN (fmodl);
   1235 #elif defined GNULIB_POSIXCHECK
   1236 # undef fmodl
   1237 # if HAVE_RAW_DECL_FMODL
   1238 _GL_WARN_ON_USE (fmodl, "fmodl is unportable - "
   1239                  "use gnulib module fmodl for portability");
   1240 # endif
   1241 #endif
   1242 
   1243 
   1244 /* Write x as
   1245      x = mantissa * 2^exp
   1246    where
   1247      If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
   1248      If x is zero: mantissa = x, exp = 0.
   1249      If x is infinite or NaN: mantissa = x, exp unspecified.
   1250    Store exp in *EXPPTR and return mantissa.  */
   1251 #if 0
   1252 # if 0
   1253 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1254 #   undef frexpf
   1255 #   define frexpf rpl_frexpf
   1256 #  endif
   1257 _GL_FUNCDECL_RPL (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2)));
   1258 _GL_CXXALIAS_RPL (frexpf, float, (float x, int *expptr));
   1259 # else
   1260 #  if !1
   1261 #   undef frexpf
   1262 _GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2)));
   1263 #  endif
   1264 _GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr));
   1265 # endif
   1266 _GL_CXXALIASWARN (frexpf);
   1267 #elif defined GNULIB_POSIXCHECK
   1268 # undef frexpf
   1269 # if HAVE_RAW_DECL_FREXPF
   1270 _GL_WARN_ON_USE (frexpf, "frexpf is unportable - "
   1271                  "use gnulib module frexpf for portability");
   1272 # endif
   1273 #endif
   1274 
   1275 /* Write x as
   1276      x = mantissa * 2^exp
   1277    where
   1278      If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
   1279      If x is zero: mantissa = x, exp = 0.
   1280      If x is infinite or NaN: mantissa = x, exp unspecified.
   1281    Store exp in *EXPPTR and return mantissa.  */
   1282 #if 1
   1283 # if 0
   1284 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1285 #   define frexp rpl_frexp
   1286 #  endif
   1287 _GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2)));
   1288 _GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr));
   1289 # else
   1290 _GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr));
   1291 # endif
   1292 _GL_CXXALIASWARN (frexp);
   1293 #elif defined GNULIB_POSIXCHECK
   1294 # undef frexp
   1295 /* Assume frexp is always declared.  */
   1296 _GL_WARN_ON_USE (frexp, "frexp is unportable - "
   1297                  "use gnulib module frexp for portability");
   1298 #endif
   1299 
   1300 /* Write x as
   1301      x = mantissa * 2^exp
   1302    where
   1303      If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
   1304      If x is zero: mantissa = x, exp = 0.
   1305      If x is infinite or NaN: mantissa = x, exp unspecified.
   1306    Store exp in *EXPPTR and return mantissa.  */
   1307 #if 1 && 0
   1308 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1309 #  undef frexpl
   1310 #  define frexpl rpl_frexpl
   1311 # endif
   1312 _GL_FUNCDECL_RPL (frexpl, long double,
   1313                   (long double x, int *expptr) _GL_ARG_NONNULL ((2)));
   1314 _GL_CXXALIAS_RPL (frexpl, long double, (long double x, int *expptr));
   1315 #else
   1316 # if !1
   1317 _GL_FUNCDECL_SYS (frexpl, long double,
   1318                   (long double x, int *expptr) _GL_ARG_NONNULL ((2)));
   1319 # endif
   1320 # if 1
   1321 _GL_CXXALIAS_SYS (frexpl, long double, (long double x, int *expptr));
   1322 # endif
   1323 #endif
   1324 #if 1 && !(0 && !1)
   1325 _GL_CXXALIASWARN (frexpl);
   1326 #endif
   1327 #if !1 && defined GNULIB_POSIXCHECK
   1328 # undef frexpl
   1329 # if HAVE_RAW_DECL_FREXPL
   1330 _GL_WARN_ON_USE (frexpl, "frexpl is unportable - "
   1331                  "use gnulib module frexpl for portability");
   1332 # endif
   1333 #endif
   1334 
   1335 
   1336 /* Return sqrt(x^2+y^2).  */
   1337 #if 0
   1338 # if 0
   1339 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1340 #   undef hypotf
   1341 #   define hypotf rpl_hypotf
   1342 #  endif
   1343 _GL_FUNCDECL_RPL (hypotf, float, (float x, float y));
   1344 _GL_CXXALIAS_RPL (hypotf, float, (float x, float y));
   1345 # else
   1346 #  if !1
   1347 _GL_FUNCDECL_SYS (hypotf, float, (float x, float y));
   1348 #  endif
   1349 _GL_CXXALIAS_SYS (hypotf, float, (float x, float y));
   1350 # endif
   1351 _GL_CXXALIASWARN (hypotf);
   1352 #elif defined GNULIB_POSIXCHECK
   1353 # undef hypotf
   1354 # if HAVE_RAW_DECL_HYPOTF
   1355 _GL_WARN_ON_USE (hypotf, "hypotf is unportable - "
   1356                  "use gnulib module hypotf for portability");
   1357 # endif
   1358 #endif
   1359 
   1360 /* Return sqrt(x^2+y^2).  */
   1361 #if 0
   1362 # if 0
   1363 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1364 #   undef hypot
   1365 #   define hypot rpl_hypot
   1366 #  endif
   1367 _GL_FUNCDECL_RPL (hypot, double, (double x, double y));
   1368 _GL_CXXALIAS_RPL (hypot, double, (double x, double y));
   1369 # else
   1370 _GL_CXXALIAS_SYS (hypot, double, (double x, double y));
   1371 # endif
   1372 _GL_CXXALIASWARN (hypot);
   1373 #elif defined GNULIB_POSIXCHECK
   1374 # undef hypot
   1375 # if HAVE_RAW_DECL_HYPOT
   1376 _GL_WARN_ON_USE (hypotf, "hypot has portability problems - "
   1377                  "use gnulib module hypot for portability");
   1378 # endif
   1379 #endif
   1380 
   1381 /* Return sqrt(x^2+y^2).  */
   1382 #if 0
   1383 # if 0
   1384 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1385 #   undef hypotl
   1386 #   define hypotl rpl_hypotl
   1387 #  endif
   1388 _GL_FUNCDECL_RPL (hypotl, long double, (long double x, long double y));
   1389 _GL_CXXALIAS_RPL (hypotl, long double, (long double x, long double y));
   1390 # else
   1391 #  if !1
   1392 _GL_FUNCDECL_SYS (hypotl, long double, (long double x, long double y));
   1393 #  endif
   1394 _GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y));
   1395 # endif
   1396 _GL_CXXALIASWARN (hypotl);
   1397 #elif defined GNULIB_POSIXCHECK
   1398 # undef hypotl
   1399 # if HAVE_RAW_DECL_HYPOTL
   1400 _GL_WARN_ON_USE (hypotl, "hypotl is unportable - "
   1401                  "use gnulib module hypotl for portability");
   1402 # endif
   1403 #endif
   1404 
   1405 
   1406 #if 0
   1407 # if 0
   1408 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1409 #   undef ilogbf
   1410 #   define ilogbf rpl_ilogbf
   1411 #  endif
   1412 _GL_FUNCDECL_RPL (ilogbf, int, (float x));
   1413 _GL_CXXALIAS_RPL (ilogbf, int, (float x));
   1414 # else
   1415 #  if !1
   1416 _GL_FUNCDECL_SYS (ilogbf, int, (float x));
   1417 #  endif
   1418 _GL_CXXALIAS_SYS (ilogbf, int, (float x));
   1419 # endif
   1420 _GL_CXXALIASWARN (ilogbf);
   1421 #elif defined GNULIB_POSIXCHECK
   1422 # undef ilogbf
   1423 # if HAVE_RAW_DECL_ILOGBF
   1424 _GL_WARN_ON_USE (ilogbf, "ilogbf is unportable - "
   1425                  "use gnulib module ilogbf for portability");
   1426 # endif
   1427 #endif
   1428 
   1429 #if 0
   1430 # if 0
   1431 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1432 #   undef ilogb
   1433 #   define ilogb rpl_ilogb
   1434 #  endif
   1435 _GL_FUNCDECL_RPL (ilogb, int, (double x));
   1436 _GL_CXXALIAS_RPL (ilogb, int, (double x));
   1437 # else
   1438 #  if !1
   1439 _GL_FUNCDECL_SYS (ilogb, int, (double x));
   1440 #  endif
   1441 _GL_CXXALIAS_SYS (ilogb, int, (double x));
   1442 # endif
   1443 _GL_CXXALIASWARN (ilogb);
   1444 #elif defined GNULIB_POSIXCHECK
   1445 # undef ilogb
   1446 # if HAVE_RAW_DECL_ILOGB
   1447 _GL_WARN_ON_USE (ilogb, "ilogb is unportable - "
   1448                  "use gnulib module ilogb for portability");
   1449 # endif
   1450 #endif
   1451 
   1452 #if 0
   1453 # if !1
   1454 _GL_FUNCDECL_SYS (ilogbl, int, (long double x));
   1455 # endif
   1456 _GL_CXXALIAS_SYS (ilogbl, int, (long double x));
   1457 _GL_CXXALIASWARN (ilogbl);
   1458 #elif defined GNULIB_POSIXCHECK
   1459 # undef ilogbl
   1460 # if HAVE_RAW_DECL_ILOGBL
   1461 _GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - "
   1462                  "use gnulib module ilogbl for portability");
   1463 # endif
   1464 #endif
   1465 
   1466 
   1467 /* Return x * 2^exp.  */
   1468 #if 0
   1469 # if !1
   1470 #  undef ldexpf
   1471 _GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp));
   1472 # endif
   1473 _GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp));
   1474 _GL_CXXALIASWARN (ldexpf);
   1475 #elif defined GNULIB_POSIXCHECK
   1476 # undef ldexpf
   1477 # if HAVE_RAW_DECL_LDEXPF
   1478 _GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - "
   1479                  "use gnulib module ldexpf for portability");
   1480 # endif
   1481 #endif
   1482 
   1483 /* Return x * 2^exp.  */
   1484 #if 1 && 0
   1485 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1486 #  undef ldexpl
   1487 #  define ldexpl rpl_ldexpl
   1488 # endif
   1489 _GL_FUNCDECL_RPL (ldexpl, long double, (long double x, int exp));
   1490 _GL_CXXALIAS_RPL (ldexpl, long double, (long double x, int exp));
   1491 #else
   1492 # if !1
   1493 _GL_FUNCDECL_SYS (ldexpl, long double, (long double x, int exp));
   1494 # endif
   1495 # if 1
   1496 _GL_CXXALIAS_SYS (ldexpl, long double, (long double x, int exp));
   1497 # endif
   1498 #endif
   1499 #if 1
   1500 _GL_CXXALIASWARN (ldexpl);
   1501 #endif
   1502 #if !1 && defined GNULIB_POSIXCHECK
   1503 # undef ldexpl
   1504 # if HAVE_RAW_DECL_LDEXPL
   1505 _GL_WARN_ON_USE (ldexpl, "ldexpl is unportable - "
   1506                  "use gnulib module ldexpl for portability");
   1507 # endif
   1508 #endif
   1509 
   1510 
   1511 #if 0
   1512 # if 0
   1513 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1514 #   undef logf
   1515 #   define logf rpl_logf
   1516 #  endif
   1517 _GL_FUNCDECL_RPL (logf, float, (float x));
   1518 _GL_CXXALIAS_RPL (logf, float, (float x));
   1519 # else
   1520 #  if !1
   1521 #   undef logf
   1522 _GL_FUNCDECL_SYS (logf, float, (float x));
   1523 #  endif
   1524 _GL_CXXALIAS_SYS (logf, float, (float x));
   1525 # endif
   1526 _GL_CXXALIASWARN (logf);
   1527 #elif defined GNULIB_POSIXCHECK
   1528 # undef logf
   1529 # if HAVE_RAW_DECL_LOGF
   1530 _GL_WARN_ON_USE (logf, "logf is unportable - "
   1531                  "use gnulib module logf for portability");
   1532 # endif
   1533 #endif
   1534 
   1535 #if 0
   1536 # if 0
   1537 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1538 #   undef log
   1539 #   define log rpl_log
   1540 #  endif
   1541 _GL_FUNCDECL_RPL (log, double, (double x));
   1542 _GL_CXXALIAS_RPL (log, double, (double x));
   1543 # else
   1544 _GL_CXXALIAS_SYS (log, double, (double x));
   1545 # endif
   1546 _GL_CXXALIASWARN (log);
   1547 #elif defined GNULIB_POSIXCHECK
   1548 # undef log
   1549 # if HAVE_RAW_DECL_LOG
   1550 _GL_WARN_ON_USE (log, "log has portability problems - "
   1551                  "use gnulib module log for portability");
   1552 # endif
   1553 #endif
   1554 
   1555 #if 0
   1556 # if 0
   1557 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1558 #   undef logl
   1559 #   define logl rpl_logl
   1560 #  endif
   1561 _GL_FUNCDECL_RPL (logl, long double, (long double x));
   1562 _GL_CXXALIAS_RPL (logl, long double, (long double x));
   1563 # else
   1564 #  if !1 || !1
   1565 #   undef logl
   1566 _GL_FUNCDECL_SYS (logl, long double, (long double x));
   1567 #  endif
   1568 _GL_CXXALIAS_SYS (logl, long double, (long double x));
   1569 # endif
   1570 _GL_CXXALIASWARN (logl);
   1571 #elif defined GNULIB_POSIXCHECK
   1572 # undef logl
   1573 # if HAVE_RAW_DECL_LOGL
   1574 _GL_WARN_ON_USE (logl, "logl is unportable - "
   1575                  "use gnulib module logl for portability");
   1576 # endif
   1577 #endif
   1578 
   1579 
   1580 #if 0
   1581 # if 0
   1582 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1583 #   undef log10f
   1584 #   define log10f rpl_log10f
   1585 #  endif
   1586 _GL_FUNCDECL_RPL (log10f, float, (float x));
   1587 _GL_CXXALIAS_RPL (log10f, float, (float x));
   1588 # else
   1589 #  if !1
   1590 #   undef log10f
   1591 _GL_FUNCDECL_SYS (log10f, float, (float x));
   1592 #  endif
   1593 _GL_CXXALIAS_SYS (log10f, float, (float x));
   1594 # endif
   1595 _GL_CXXALIASWARN (log10f);
   1596 #elif defined GNULIB_POSIXCHECK
   1597 # undef log10f
   1598 # if HAVE_RAW_DECL_LOG10F
   1599 _GL_WARN_ON_USE (log10f, "log10f is unportable - "
   1600                  "use gnulib module log10f for portability");
   1601 # endif
   1602 #endif
   1603 
   1604 #if 0
   1605 # if 0
   1606 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1607 #   undef log10
   1608 #   define log10 rpl_log10
   1609 #  endif
   1610 _GL_FUNCDECL_RPL (log10, double, (double x));
   1611 _GL_CXXALIAS_RPL (log10, double, (double x));
   1612 # else
   1613 _GL_CXXALIAS_SYS (log10, double, (double x));
   1614 # endif
   1615 _GL_CXXALIASWARN (log10);
   1616 #elif defined GNULIB_POSIXCHECK
   1617 # undef log10
   1618 # if HAVE_RAW_DECL_LOG10
   1619 _GL_WARN_ON_USE (log10, "log10 has portability problems - "
   1620                  "use gnulib module log10 for portability");
   1621 # endif
   1622 #endif
   1623 
   1624 #if 0
   1625 # if 0
   1626 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1627 #   undef log10l
   1628 #   define log10l rpl_log10l
   1629 #  endif
   1630 _GL_FUNCDECL_RPL (log10l, long double, (long double x));
   1631 _GL_CXXALIAS_RPL (log10l, long double, (long double x));
   1632 # else
   1633 #  if !1 || !1
   1634 #   undef log10l
   1635 _GL_FUNCDECL_SYS (log10l, long double, (long double x));
   1636 #  endif
   1637 _GL_CXXALIAS_SYS (log10l, long double, (long double x));
   1638 # endif
   1639 _GL_CXXALIASWARN (log10l);
   1640 #elif defined GNULIB_POSIXCHECK
   1641 # undef log10l
   1642 # if HAVE_RAW_DECL_LOG10L
   1643 _GL_WARN_ON_USE (log10l, "log10l is unportable - "
   1644                  "use gnulib module log10l for portability");
   1645 # endif
   1646 #endif
   1647 
   1648 
   1649 #if 0
   1650 # if 0
   1651 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1652 #   undef log1pf
   1653 #   define log1pf rpl_log1pf
   1654 #  endif
   1655 _GL_FUNCDECL_RPL (log1pf, float, (float x));
   1656 _GL_CXXALIAS_RPL (log1pf, float, (float x));
   1657 # else
   1658 #  if !1
   1659 _GL_FUNCDECL_SYS (log1pf, float, (float x));
   1660 #  endif
   1661 _GL_CXXALIAS_SYS (log1pf, float, (float x));
   1662 # endif
   1663 _GL_CXXALIASWARN (log1pf);
   1664 #elif defined GNULIB_POSIXCHECK
   1665 # undef log1pf
   1666 # if HAVE_RAW_DECL_LOG1PF
   1667 _GL_WARN_ON_USE (log1pf, "log1pf is unportable - "
   1668                  "use gnulib module log1pf for portability");
   1669 # endif
   1670 #endif
   1671 
   1672 #if 0
   1673 # if 0
   1674 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1675 #   undef log1p
   1676 #   define log1p rpl_log1p
   1677 #  endif
   1678 _GL_FUNCDECL_RPL (log1p, double, (double x));
   1679 _GL_CXXALIAS_RPL (log1p, double, (double x));
   1680 # else
   1681 #  if !1
   1682 _GL_FUNCDECL_SYS (log1p, double, (double x));
   1683 #  endif
   1684 _GL_CXXALIAS_SYS (log1p, double, (double x));
   1685 # endif
   1686 _GL_CXXALIASWARN (log1p);
   1687 #elif defined GNULIB_POSIXCHECK
   1688 # undef log1p
   1689 # if HAVE_RAW_DECL_LOG1P
   1690 _GL_WARN_ON_USE (log1p, "log1p has portability problems - "
   1691                  "use gnulib module log1p for portability");
   1692 # endif
   1693 #endif
   1694 
   1695 #if 0
   1696 # if 0
   1697 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1698 #   undef log1pl
   1699 #   define log1pl rpl_log1pl
   1700 #  endif
   1701 _GL_FUNCDECL_RPL (log1pl, long double, (long double x));
   1702 _GL_CXXALIAS_RPL (log1pl, long double, (long double x));
   1703 # else
   1704 #  if !1
   1705 _GL_FUNCDECL_SYS (log1pl, long double, (long double x));
   1706 #  endif
   1707 _GL_CXXALIAS_SYS (log1pl, long double, (long double x));
   1708 # endif
   1709 _GL_CXXALIASWARN (log1pl);
   1710 #elif defined GNULIB_POSIXCHECK
   1711 # undef log1pl
   1712 # if HAVE_RAW_DECL_LOG1PL
   1713 _GL_WARN_ON_USE (log1pl, "log1pl has portability problems - "
   1714                  "use gnulib module log1pl for portability");
   1715 # endif
   1716 #endif
   1717 
   1718 
   1719 #if 0
   1720 # if 0
   1721 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1722 #   undef log2f
   1723 #   define log2f rpl_log2f
   1724 #  endif
   1725 _GL_FUNCDECL_RPL (log2f, float, (float x));
   1726 _GL_CXXALIAS_RPL (log2f, float, (float x));
   1727 # else
   1728 #  if !1
   1729 #   undef log2f
   1730 _GL_FUNCDECL_SYS (log2f, float, (float x));
   1731 #  endif
   1732 _GL_CXXALIAS_SYS (log2f, float, (float x));
   1733 # endif
   1734 _GL_CXXALIASWARN (log2f);
   1735 #elif defined GNULIB_POSIXCHECK
   1736 # undef log2f
   1737 # if HAVE_RAW_DECL_LOG2F
   1738 _GL_WARN_ON_USE (log2f, "log2f is unportable - "
   1739                  "use gnulib module log2f for portability");
   1740 # endif
   1741 #endif
   1742 
   1743 #if 0
   1744 # if 0
   1745 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1746 #   undef log2
   1747 #   define log2 rpl_log2
   1748 #  endif
   1749 _GL_FUNCDECL_RPL (log2, double, (double x));
   1750 _GL_CXXALIAS_RPL (log2, double, (double x));
   1751 # else
   1752 #  if !1
   1753 #   undef log2
   1754 _GL_FUNCDECL_SYS (log2, double, (double x));
   1755 #  endif
   1756 _GL_CXXALIAS_SYS (log2, double, (double x));
   1757 # endif
   1758 _GL_CXXALIASWARN (log2);
   1759 #elif defined GNULIB_POSIXCHECK
   1760 # undef log2
   1761 # if HAVE_RAW_DECL_LOG2
   1762 _GL_WARN_ON_USE (log2, "log2 is unportable - "
   1763                  "use gnulib module log2 for portability");
   1764 # endif
   1765 #endif
   1766 
   1767 #if 0
   1768 # if 0
   1769 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1770 #   undef log2l
   1771 #   define log2l rpl_log2l
   1772 #  endif
   1773 _GL_FUNCDECL_RPL (log2l, long double, (long double x));
   1774 _GL_CXXALIAS_RPL (log2l, long double, (long double x));
   1775 # else
   1776 #  if !1
   1777 _GL_FUNCDECL_SYS (log2l, long double, (long double x));
   1778 #  endif
   1779 _GL_CXXALIAS_SYS (log2l, long double, (long double x));
   1780 # endif
   1781 _GL_CXXALIASWARN (log2l);
   1782 #elif defined GNULIB_POSIXCHECK
   1783 # undef log2l
   1784 # if HAVE_RAW_DECL_LOG2L
   1785 _GL_WARN_ON_USE (log2l, "log2l is unportable - "
   1786                  "use gnulib module log2l for portability");
   1787 # endif
   1788 #endif
   1789 
   1790 
   1791 #if 0
   1792 # if 0
   1793 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1794 #   undef logbf
   1795 #   define logbf rpl_logbf
   1796 #  endif
   1797 _GL_FUNCDECL_RPL (logbf, float, (float x));
   1798 _GL_CXXALIAS_RPL (logbf, float, (float x));
   1799 # else
   1800 #  if !1
   1801 _GL_FUNCDECL_SYS (logbf, float, (float x));
   1802 #  endif
   1803 _GL_CXXALIAS_SYS (logbf, float, (float x));
   1804 # endif
   1805 _GL_CXXALIASWARN (logbf);
   1806 #elif defined GNULIB_POSIXCHECK
   1807 # undef logbf
   1808 # if HAVE_RAW_DECL_LOGBF
   1809 _GL_WARN_ON_USE (logbf, "logbf is unportable - "
   1810                  "use gnulib module logbf for portability");
   1811 # endif
   1812 #endif
   1813 
   1814 #if 0
   1815 # if 0
   1816 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1817 #   undef logb
   1818 #   define logb rpl_logb
   1819 #  endif
   1820 _GL_FUNCDECL_RPL (logb, double, (double x));
   1821 _GL_CXXALIAS_RPL (logb, double, (double x));
   1822 # else
   1823 #  if !1
   1824 _GL_FUNCDECL_SYS (logb, double, (double x));
   1825 #  endif
   1826 _GL_CXXALIAS_SYS (logb, double, (double x));
   1827 # endif
   1828 _GL_CXXALIASWARN (logb);
   1829 #elif defined GNULIB_POSIXCHECK
   1830 # undef logb
   1831 # if HAVE_RAW_DECL_LOGB
   1832 _GL_WARN_ON_USE (logb, "logb is unportable - "
   1833                  "use gnulib module logb for portability");
   1834 # endif
   1835 #endif
   1836 
   1837 #if 0
   1838 # if 0
   1839 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1840 #   undef logbl
   1841 #   define logbl rpl_logbl
   1842 #  endif
   1843 _GL_FUNCDECL_RPL (logbl, long double, (long double x));
   1844 _GL_CXXALIAS_RPL (logbl, long double, (long double x));
   1845 # else
   1846 #  if !1
   1847 _GL_FUNCDECL_SYS (logbl, long double, (long double x));
   1848 #  endif
   1849 _GL_CXXALIAS_SYS (logbl, long double, (long double x));
   1850 # endif
   1851 _GL_CXXALIASWARN (logbl);
   1852 #elif defined GNULIB_POSIXCHECK
   1853 # undef logbl
   1854 # if HAVE_RAW_DECL_LOGBL
   1855 _GL_WARN_ON_USE (logbl, "logbl is unportable - "
   1856                  "use gnulib module logbl for portability");
   1857 # endif
   1858 #endif
   1859 
   1860 
   1861 #if 0
   1862 # if 0
   1863 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1864 #   undef modff
   1865 #   define modff rpl_modff
   1866 #  endif
   1867 _GL_FUNCDECL_RPL (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2)));
   1868 _GL_CXXALIAS_RPL (modff, float, (float x, float *iptr));
   1869 # else
   1870 #  if !1
   1871 #   undef modff
   1872 _GL_FUNCDECL_SYS (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2)));
   1873 #  endif
   1874 _GL_CXXALIAS_SYS (modff, float, (float x, float *iptr));
   1875 # endif
   1876 _GL_CXXALIASWARN (modff);
   1877 #elif defined GNULIB_POSIXCHECK
   1878 # undef modff
   1879 # if HAVE_RAW_DECL_MODFF
   1880 _GL_WARN_ON_USE (modff, "modff is unportable - "
   1881                  "use gnulib module modff for portability");
   1882 # endif
   1883 #endif
   1884 
   1885 #if 0
   1886 # if 0
   1887 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1888 #   undef modf
   1889 #   define modf rpl_modf
   1890 #  endif
   1891 _GL_FUNCDECL_RPL (modf, double, (double x, double *iptr) _GL_ARG_NONNULL ((2)));
   1892 _GL_CXXALIAS_RPL (modf, double, (double x, double *iptr));
   1893 # else
   1894 _GL_CXXALIAS_SYS (modf, double, (double x, double *iptr));
   1895 # endif
   1896 _GL_CXXALIASWARN (modf);
   1897 #elif defined GNULIB_POSIXCHECK
   1898 # undef modf
   1899 # if HAVE_RAW_DECL_MODF
   1900 _GL_WARN_ON_USE (modf, "modf has portability problems - "
   1901                  "use gnulib module modf for portability");
   1902 # endif
   1903 #endif
   1904 
   1905 #if 0
   1906 # if 0
   1907 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1908 #   undef modfl
   1909 #   define modfl rpl_modfl
   1910 #  endif
   1911 _GL_FUNCDECL_RPL (modfl, long double, (long double x, long double *iptr)
   1912                                       _GL_ARG_NONNULL ((2)));
   1913 _GL_CXXALIAS_RPL (modfl, long double, (long double x, long double *iptr));
   1914 # else
   1915 #  if !1
   1916 #   undef modfl
   1917 _GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr)
   1918                                       _GL_ARG_NONNULL ((2)));
   1919 #  endif
   1920 _GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr));
   1921 # endif
   1922 _GL_CXXALIASWARN (modfl);
   1923 #elif defined GNULIB_POSIXCHECK
   1924 # undef modfl
   1925 # if HAVE_RAW_DECL_MODFL
   1926 _GL_WARN_ON_USE (modfl, "modfl is unportable - "
   1927                  "use gnulib module modfl for portability");
   1928 # endif
   1929 #endif
   1930 
   1931 
   1932 #if 0
   1933 # if !1
   1934 #  undef powf
   1935 _GL_FUNCDECL_SYS (powf, float, (float x, float y));
   1936 # endif
   1937 _GL_CXXALIAS_SYS (powf, float, (float x, float y));
   1938 _GL_CXXALIASWARN (powf);
   1939 #elif defined GNULIB_POSIXCHECK
   1940 # undef powf
   1941 # if HAVE_RAW_DECL_POWF
   1942 _GL_WARN_ON_USE (powf, "powf is unportable - "
   1943                  "use gnulib module powf for portability");
   1944 # endif
   1945 #endif
   1946 
   1947 
   1948 #if 0
   1949 # if 0
   1950 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1951 #   undef remainderf
   1952 #   define remainderf rpl_remainderf
   1953 #  endif
   1954 _GL_FUNCDECL_RPL (remainderf, float, (float x, float y));
   1955 _GL_CXXALIAS_RPL (remainderf, float, (float x, float y));
   1956 # else
   1957 #  if !1
   1958 _GL_FUNCDECL_SYS (remainderf, float, (float x, float y));
   1959 #  endif
   1960 _GL_CXXALIAS_SYS (remainderf, float, (float x, float y));
   1961 # endif
   1962 _GL_CXXALIASWARN (remainderf);
   1963 #elif defined GNULIB_POSIXCHECK
   1964 # undef remainderf
   1965 # if HAVE_RAW_DECL_REMAINDERF
   1966 _GL_WARN_ON_USE (remainderf, "remainderf is unportable - "
   1967                  "use gnulib module remainderf for portability");
   1968 # endif
   1969 #endif
   1970 
   1971 #if 0
   1972 # if 0
   1973 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1974 #   undef remainder
   1975 #   define remainder rpl_remainder
   1976 #  endif
   1977 _GL_FUNCDECL_RPL (remainder, double, (double x, double y));
   1978 _GL_CXXALIAS_RPL (remainder, double, (double x, double y));
   1979 # else
   1980 #  if !1 || !1
   1981 _GL_FUNCDECL_SYS (remainder, double, (double x, double y));
   1982 #  endif
   1983 _GL_CXXALIAS_SYS (remainder, double, (double x, double y));
   1984 # endif
   1985 _GL_CXXALIASWARN (remainder);
   1986 #elif defined GNULIB_POSIXCHECK
   1987 # undef remainder
   1988 # if HAVE_RAW_DECL_REMAINDER
   1989 _GL_WARN_ON_USE (remainder, "remainder is unportable - "
   1990                  "use gnulib module remainder for portability");
   1991 # endif
   1992 #endif
   1993 
   1994 #if 0
   1995 # if 0
   1996 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1997 #   undef remainderl
   1998 #   define remainderl rpl_remainderl
   1999 #  endif
   2000 _GL_FUNCDECL_RPL (remainderl, long double, (long double x, long double y));
   2001 _GL_CXXALIAS_RPL (remainderl, long double, (long double x, long double y));
   2002 # else
   2003 #  if !1
   2004 #   undef remainderl
   2005 _GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y));
   2006 #  endif
   2007 _GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y));
   2008 # endif
   2009 _GL_CXXALIASWARN (remainderl);
   2010 #elif defined GNULIB_POSIXCHECK
   2011 # undef remainderl
   2012 # if HAVE_RAW_DECL_REMAINDERL
   2013 _GL_WARN_ON_USE (remainderl, "remainderl is unportable - "
   2014                  "use gnulib module remainderl for portability");
   2015 # endif
   2016 #endif
   2017 
   2018 
   2019 #if 0
   2020 # if !1
   2021 _GL_FUNCDECL_SYS (rintf, float, (float x));
   2022 # endif
   2023 _GL_CXXALIAS_SYS (rintf, float, (float x));
   2024 _GL_CXXALIASWARN (rintf);
   2025 #elif defined GNULIB_POSIXCHECK
   2026 # undef rintf
   2027 # if HAVE_RAW_DECL_RINTF
   2028 _GL_WARN_ON_USE (rintf, "rintf is unportable - "
   2029                  "use gnulib module rintf for portability");
   2030 # endif
   2031 #endif
   2032 
   2033 #if 0
   2034 # if !1
   2035 _GL_FUNCDECL_SYS (rint, double, (double x));
   2036 # endif
   2037 _GL_CXXALIAS_SYS (rint, double, (double x));
   2038 _GL_CXXALIASWARN (rint);
   2039 #elif defined GNULIB_POSIXCHECK
   2040 # undef rint
   2041 # if HAVE_RAW_DECL_RINT
   2042 _GL_WARN_ON_USE (rint, "rint is unportable - "
   2043                  "use gnulib module rint for portability");
   2044 # endif
   2045 #endif
   2046 
   2047 #if 0
   2048 # if !1
   2049 _GL_FUNCDECL_SYS (rintl, long double, (long double x));
   2050 # endif
   2051 _GL_CXXALIAS_SYS (rintl, long double, (long double x));
   2052 _GL_CXXALIASWARN (rintl);
   2053 #elif defined GNULIB_POSIXCHECK
   2054 # undef rintl
   2055 # if HAVE_RAW_DECL_RINTL
   2056 _GL_WARN_ON_USE (rintl, "rintl is unportable - "
   2057                  "use gnulib module rintl for portability");
   2058 # endif
   2059 #endif
   2060 
   2061 
   2062 #if 0
   2063 # if 0
   2064 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2065 #   undef roundf
   2066 #   define roundf rpl_roundf
   2067 #  endif
   2068 _GL_FUNCDECL_RPL (roundf, float, (float x));
   2069 _GL_CXXALIAS_RPL (roundf, float, (float x));
   2070 # else
   2071 #  if !1
   2072 _GL_FUNCDECL_SYS (roundf, float, (float x));
   2073 #  endif
   2074 _GL_CXXALIAS_SYS (roundf, float, (float x));
   2075 # endif
   2076 _GL_CXXALIASWARN (roundf);
   2077 #elif defined GNULIB_POSIXCHECK
   2078 # undef roundf
   2079 # if HAVE_RAW_DECL_ROUNDF
   2080 _GL_WARN_ON_USE (roundf, "roundf is unportable - "
   2081                  "use gnulib module roundf for portability");
   2082 # endif
   2083 #endif
   2084 
   2085 #if 0
   2086 # if 0
   2087 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2088 #   undef round
   2089 #   define round rpl_round
   2090 #  endif
   2091 _GL_FUNCDECL_RPL (round, double, (double x));
   2092 _GL_CXXALIAS_RPL (round, double, (double x));
   2093 # else
   2094 #  if !1
   2095 _GL_FUNCDECL_SYS (round, double, (double x));
   2096 #  endif
   2097 _GL_CXXALIAS_SYS (round, double, (double x));
   2098 # endif
   2099 _GL_CXXALIASWARN (round);
   2100 #elif defined GNULIB_POSIXCHECK
   2101 # undef round
   2102 # if HAVE_RAW_DECL_ROUND
   2103 _GL_WARN_ON_USE (round, "round is unportable - "
   2104                  "use gnulib module round for portability");
   2105 # endif
   2106 #endif
   2107 
   2108 #if 0
   2109 # if 0
   2110 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2111 #   undef roundl
   2112 #   define roundl rpl_roundl
   2113 #  endif
   2114 _GL_FUNCDECL_RPL (roundl, long double, (long double x));
   2115 _GL_CXXALIAS_RPL (roundl, long double, (long double x));
   2116 # else
   2117 #  if !1
   2118 #   undef roundl
   2119 _GL_FUNCDECL_SYS (roundl, long double, (long double x));
   2120 #  endif
   2121 _GL_CXXALIAS_SYS (roundl, long double, (long double x));
   2122 # endif
   2123 _GL_CXXALIASWARN (roundl);
   2124 #elif defined GNULIB_POSIXCHECK
   2125 # undef roundl
   2126 # if HAVE_RAW_DECL_ROUNDL
   2127 _GL_WARN_ON_USE (roundl, "roundl is unportable - "
   2128                  "use gnulib module roundl for portability");
   2129 # endif
   2130 #endif
   2131 
   2132 
   2133 #if 0
   2134 # if !1
   2135 #  undef sinf
   2136 _GL_FUNCDECL_SYS (sinf, float, (float x));
   2137 # endif
   2138 _GL_CXXALIAS_SYS (sinf, float, (float x));
   2139 _GL_CXXALIASWARN (sinf);
   2140 #elif defined GNULIB_POSIXCHECK
   2141 # undef sinf
   2142 # if HAVE_RAW_DECL_SINF
   2143 _GL_WARN_ON_USE (sinf, "sinf is unportable - "
   2144                  "use gnulib module sinf for portability");
   2145 # endif
   2146 #endif
   2147 
   2148 #if 0
   2149 # if !1 || !1
   2150 #  undef sinl
   2151 _GL_FUNCDECL_SYS (sinl, long double, (long double x));
   2152 # endif
   2153 _GL_CXXALIAS_SYS (sinl, long double, (long double x));
   2154 _GL_CXXALIASWARN (sinl);
   2155 #elif defined GNULIB_POSIXCHECK
   2156 # undef sinl
   2157 # if HAVE_RAW_DECL_SINL
   2158 _GL_WARN_ON_USE (sinl, "sinl is unportable - "
   2159                  "use gnulib module sinl for portability");
   2160 # endif
   2161 #endif
   2162 
   2163 
   2164 #if 0
   2165 # if !1
   2166 #  undef sinhf
   2167 _GL_FUNCDECL_SYS (sinhf, float, (float x));
   2168 # endif
   2169 _GL_CXXALIAS_SYS (sinhf, float, (float x));
   2170 _GL_CXXALIASWARN (sinhf);
   2171 #elif defined GNULIB_POSIXCHECK
   2172 # undef sinhf
   2173 # if HAVE_RAW_DECL_SINHF
   2174 _GL_WARN_ON_USE (sinhf, "sinhf is unportable - "
   2175                  "use gnulib module sinhf for portability");
   2176 # endif
   2177 #endif
   2178 
   2179 
   2180 #if 0
   2181 # if !1
   2182 #  undef sqrtf
   2183 _GL_FUNCDECL_SYS (sqrtf, float, (float x));
   2184 # endif
   2185 _GL_CXXALIAS_SYS (sqrtf, float, (float x));
   2186 _GL_CXXALIASWARN (sqrtf);
   2187 #elif defined GNULIB_POSIXCHECK
   2188 # undef sqrtf
   2189 # if HAVE_RAW_DECL_SQRTF
   2190 _GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - "
   2191                  "use gnulib module sqrtf for portability");
   2192 # endif
   2193 #endif
   2194 
   2195 #if 0
   2196 # if 0
   2197 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2198 #   undef sqrtl
   2199 #   define sqrtl rpl_sqrtl
   2200 #  endif
   2201 _GL_FUNCDECL_RPL (sqrtl, long double, (long double x));
   2202 _GL_CXXALIAS_RPL (sqrtl, long double, (long double x));
   2203 # else
   2204 #  if !1 || !1
   2205 #   undef sqrtl
   2206 _GL_FUNCDECL_SYS (sqrtl, long double, (long double x));
   2207 #  endif
   2208 _GL_CXXALIAS_SYS (sqrtl, long double, (long double x));
   2209 # endif
   2210 _GL_CXXALIASWARN (sqrtl);
   2211 #elif defined GNULIB_POSIXCHECK
   2212 # undef sqrtl
   2213 # if HAVE_RAW_DECL_SQRTL
   2214 _GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - "
   2215                  "use gnulib module sqrtl for portability");
   2216 # endif
   2217 #endif
   2218 
   2219 
   2220 #if 0
   2221 # if !1
   2222 #  undef tanf
   2223 _GL_FUNCDECL_SYS (tanf, float, (float x));
   2224 # endif
   2225 _GL_CXXALIAS_SYS (tanf, float, (float x));
   2226 _GL_CXXALIASWARN (tanf);
   2227 #elif defined GNULIB_POSIXCHECK
   2228 # undef tanf
   2229 # if HAVE_RAW_DECL_TANF
   2230 _GL_WARN_ON_USE (tanf, "tanf is unportable - "
   2231                  "use gnulib module tanf for portability");
   2232 # endif
   2233 #endif
   2234 
   2235 #if 0
   2236 # if !1 || !1
   2237 #  undef tanl
   2238 _GL_FUNCDECL_SYS (tanl, long double, (long double x));
   2239 # endif
   2240 _GL_CXXALIAS_SYS (tanl, long double, (long double x));
   2241 _GL_CXXALIASWARN (tanl);
   2242 #elif defined GNULIB_POSIXCHECK
   2243 # undef tanl
   2244 # if HAVE_RAW_DECL_TANL
   2245 _GL_WARN_ON_USE (tanl, "tanl is unportable - "
   2246                  "use gnulib module tanl for portability");
   2247 # endif
   2248 #endif
   2249 
   2250 
   2251 #if 0
   2252 # if !1
   2253 #  undef tanhf
   2254 _GL_FUNCDECL_SYS (tanhf, float, (float x));
   2255 # endif
   2256 _GL_CXXALIAS_SYS (tanhf, float, (float x));
   2257 _GL_CXXALIASWARN (tanhf);
   2258 #elif defined GNULIB_POSIXCHECK
   2259 # undef tanhf
   2260 # if HAVE_RAW_DECL_TANHF
   2261 _GL_WARN_ON_USE (tanhf, "tanhf is unportable - "
   2262                  "use gnulib module tanhf for portability");
   2263 # endif
   2264 #endif
   2265 
   2266 
   2267 #if 0
   2268 # if 0
   2269 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2270 #   define truncf rpl_truncf
   2271 #  endif
   2272 _GL_FUNCDECL_RPL (truncf, float, (float x));
   2273 _GL_CXXALIAS_RPL (truncf, float, (float x));
   2274 # else
   2275 #  if !1
   2276 _GL_FUNCDECL_SYS (truncf, float, (float x));
   2277 #  endif
   2278 _GL_CXXALIAS_SYS (truncf, float, (float x));
   2279 # endif
   2280 _GL_CXXALIASWARN (truncf);
   2281 #elif defined GNULIB_POSIXCHECK
   2282 # undef truncf
   2283 # if HAVE_RAW_DECL_TRUNCF
   2284 _GL_WARN_ON_USE (truncf, "truncf is unportable - "
   2285                  "use gnulib module truncf for portability");
   2286 # endif
   2287 #endif
   2288 
   2289 #if 0
   2290 # if 0
   2291 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2292 #   define trunc rpl_trunc
   2293 #  endif
   2294 _GL_FUNCDECL_RPL (trunc, double, (double x));
   2295 _GL_CXXALIAS_RPL (trunc, double, (double x));
   2296 # else
   2297 #  if !1
   2298 _GL_FUNCDECL_SYS (trunc, double, (double x));
   2299 #  endif
   2300 _GL_CXXALIAS_SYS (trunc, double, (double x));
   2301 # endif
   2302 _GL_CXXALIASWARN (trunc);
   2303 #elif defined GNULIB_POSIXCHECK
   2304 # undef trunc
   2305 # if HAVE_RAW_DECL_TRUNC
   2306 _GL_WARN_ON_USE (trunc, "trunc is unportable - "
   2307                  "use gnulib module trunc for portability");
   2308 # endif
   2309 #endif
   2310 
   2311 #if 0
   2312 # if 0
   2313 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2314 #   undef truncl
   2315 #   define truncl rpl_truncl
   2316 #  endif
   2317 _GL_FUNCDECL_RPL (truncl, long double, (long double x));
   2318 _GL_CXXALIAS_RPL (truncl, long double, (long double x));
   2319 # else
   2320 #  if !1
   2321 _GL_FUNCDECL_SYS (truncl, long double, (long double x));
   2322 #  endif
   2323 _GL_CXXALIAS_SYS (truncl, long double, (long double x));
   2324 # endif
   2325 _GL_CXXALIASWARN (truncl);
   2326 #elif defined GNULIB_POSIXCHECK
   2327 # undef truncl
   2328 # if HAVE_RAW_DECL_TRUNCL
   2329 _GL_WARN_ON_USE (truncl, "truncl is unportable - "
   2330                  "use gnulib module truncl for portability");
   2331 # endif
   2332 #endif
   2333 
   2334 
   2335 /* Definitions of function-like macros come here, after the function
   2336    declarations.  */
   2337 
   2338 
   2339 #if 0
   2340 # if 0
   2341 _GL_EXTERN_C int gl_isfinitef (float x);
   2342 _GL_EXTERN_C int gl_isfinited (double x);
   2343 _GL_EXTERN_C int gl_isfinitel (long double x);
   2344 #  undef isfinite
   2345 #  define isfinite(x) \
   2346    (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \
   2347     sizeof (x) == sizeof (double) ? gl_isfinited (x) : \
   2348     gl_isfinitef (x))
   2349 # endif
   2350 # ifdef __cplusplus
   2351 #  ifdef isfinite
   2352 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite)
   2353 #   undef isfinite
   2354 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite)
   2355 #  endif
   2356 # endif
   2357 #elif defined GNULIB_POSIXCHECK
   2358 # if defined isfinite
   2359 _GL_WARN_REAL_FLOATING_DECL (isfinite);
   2360 #  undef isfinite
   2361 #  define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x)
   2362 # endif
   2363 #endif
   2364 
   2365 
   2366 #if 0
   2367 # if 0
   2368 _GL_EXTERN_C int gl_isinff (float x);
   2369 _GL_EXTERN_C int gl_isinfd (double x);
   2370 _GL_EXTERN_C int gl_isinfl (long double x);
   2371 #  undef isinf
   2372 #  define isinf(x) \
   2373    (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \
   2374     sizeof (x) == sizeof (double) ? gl_isinfd (x) : \
   2375     gl_isinff (x))
   2376 # endif
   2377 # ifdef __cplusplus
   2378 #  ifdef isinf
   2379 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf)
   2380 #   undef isinf
   2381 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf)
   2382 #  endif
   2383 # endif
   2384 #elif defined GNULIB_POSIXCHECK
   2385 # if defined isinf
   2386 _GL_WARN_REAL_FLOATING_DECL (isinf);
   2387 #  undef isinf
   2388 #  define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x)
   2389 # endif
   2390 #endif
   2391 
   2392 
   2393 #if 1
   2394 /* Test for NaN for 'float' numbers.  */
   2395 # if 1
   2396 /* The original <math.h> included above provides a declaration of isnan macro
   2397    or (older) isnanf function.  */
   2398 #  if __GNUC__ >= 4
   2399     /* GCC 4.0 and newer provides three built-ins for isnan.  */
   2400 #   undef isnanf
   2401 #   define isnanf(x) __builtin_isnanf ((float)(x))
   2402 #  elif defined isnan
   2403 #   undef isnanf
   2404 #   define isnanf(x) isnan ((float)(x))
   2405 #  endif
   2406 # else
   2407 /* Test whether X is a NaN.  */
   2408 #  undef isnanf
   2409 #  define isnanf rpl_isnanf
   2410 _GL_EXTERN_C int isnanf (float x);
   2411 # endif
   2412 #endif
   2413 
   2414 #if 1
   2415 /* Test for NaN for 'double' numbers.
   2416    This function is a gnulib extension, unlike isnan() which applied only
   2417    to 'double' numbers earlier but now is a type-generic macro.  */
   2418 # if 1
   2419 /* The original <math.h> included above provides a declaration of isnan
   2420    macro.  */
   2421 #  if __GNUC__ >= 4
   2422     /* GCC 4.0 and newer provides three built-ins for isnan.  */
   2423 #   undef isnand
   2424 #   define isnand(x) __builtin_isnan ((double)(x))
   2425 #  else
   2426 #   undef isnand
   2427 #   define isnand(x) isnan ((double)(x))
   2428 #  endif
   2429 # else
   2430 /* Test whether X is a NaN.  */
   2431 #  undef isnand
   2432 #  define isnand rpl_isnand
   2433 _GL_EXTERN_C int isnand (double x);
   2434 # endif
   2435 #endif
   2436 
   2437 #if 1
   2438 /* Test for NaN for 'long double' numbers.  */
   2439 # if 0
   2440 /* The original <math.h> included above provides a declaration of isnan
   2441    macro or (older) isnanl function.  */
   2442 #  if __GNUC__ >= 4
   2443     /* GCC 4.0 and newer provides three built-ins for isnan.  */
   2444 #   undef isnanl
   2445 #   define isnanl(x) __builtin_isnanl ((long double)(x))
   2446 #  elif defined isnan
   2447 #   undef isnanl
   2448 #   define isnanl(x) isnan ((long double)(x))
   2449 #  endif
   2450 # else
   2451 /* Test whether X is a NaN.  */
   2452 #  undef isnanl
   2453 #  define isnanl rpl_isnanl
   2454 _GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST;
   2455 # endif
   2456 #endif
   2457 
   2458 /* This must come *after* the snippets for GNULIB_ISNANF and GNULIB_ISNANL!  */
   2459 #if 1
   2460 # if 1
   2461 /* We can't just use the isnanf macro (e.g.) as exposed by
   2462    isnanf.h (e.g.) here, because those may end up being macros
   2463    that recursively expand back to isnan.  So use the gnulib
   2464    replacements for them directly. */
   2465 #  if 1 && __GNUC__ >= 4
   2466 #   define gl_isnan_f(x) __builtin_isnanf ((float)(x))
   2467 #  else
   2468 _GL_EXTERN_C int rpl_isnanf (float x);
   2469 #   define gl_isnan_f(x) rpl_isnanf (x)
   2470 #  endif
   2471 #  if 1 && __GNUC__ >= 4
   2472 #   define gl_isnan_d(x) __builtin_isnan ((double)(x))
   2473 #  else
   2474 _GL_EXTERN_C int rpl_isnand (double x);
   2475 #   define gl_isnan_d(x) rpl_isnand (x)
   2476 #  endif
   2477 #  if 0 && __GNUC__ >= 4
   2478 #   define gl_isnan_l(x) __builtin_isnanl ((long double)(x))
   2479 #  else
   2480 _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
   2481 #   define gl_isnan_l(x) rpl_isnanl (x)
   2482 #  endif
   2483 #  undef isnan
   2484 #  define isnan(x) \
   2485    (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \
   2486     sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \
   2487     gl_isnan_f (x))
   2488 # elif __GNUC__ >= 4
   2489 #  undef isnan
   2490 #  define isnan(x) \
   2491    (sizeof (x) == sizeof (long double) ? __builtin_isnanl ((long double)(x)) : \
   2492     sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \
   2493     __builtin_isnanf ((float)(x)))
   2494 # endif
   2495 # ifdef __cplusplus
   2496 #  ifdef isnan
   2497 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan)
   2498 #   undef isnan
   2499 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan)
   2500 #  endif
   2501 # else
   2502 /* Ensure isnan is a macro.  */
   2503 #  ifndef isnan
   2504 #   define isnan isnan
   2505 #  endif
   2506 # endif
   2507 #elif defined GNULIB_POSIXCHECK
   2508 # if defined isnan
   2509 _GL_WARN_REAL_FLOATING_DECL (isnan);
   2510 #  undef isnan
   2511 #  define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x)
   2512 # endif
   2513 #endif
   2514 
   2515 
   2516 #if 1
   2517 # if 1
   2518 #  undef signbit
   2519    /* GCC 4.0 and newer provides three built-ins for signbit.  */
   2520 #  define signbit(x) \
   2521    (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \
   2522     sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \
   2523     __builtin_signbitf (x))
   2524 # endif
   2525 # if 0
   2526 #  undef signbit
   2527 _GL_EXTERN_C int gl_signbitf (float arg);
   2528 _GL_EXTERN_C int gl_signbitd (double arg);
   2529 _GL_EXTERN_C int gl_signbitl (long double arg);
   2530 #  if __GNUC__ >= 2 && !defined __STRICT_ANSI__
   2531 #   define _GL_NUM_UINT_WORDS(type) \
   2532       ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
   2533 #   if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf
   2534 #    define gl_signbitf_OPTIMIZED_MACRO
   2535 #    define gl_signbitf(arg) \
   2536        ({ union { float _value;                                         \
   2537                   unsigned int _word[_GL_NUM_UINT_WORDS (float)];       \
   2538                 } _m;                                                   \
   2539           _m._value = (arg);                                            \
   2540           (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1;          \
   2541         })
   2542 #   endif
   2543 #   if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd
   2544 #    define gl_signbitd_OPTIMIZED_MACRO
   2545 #    define gl_signbitd(arg) \
   2546        ({ union { double _value;                                        \
   2547                   unsigned int _word[_GL_NUM_UINT_WORDS (double)];      \
   2548                 } _m;                                                   \
   2549           _m._value = (arg);                                            \
   2550           (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1;          \
   2551         })
   2552 #   endif
   2553 #   if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl
   2554 #    define gl_signbitl_OPTIMIZED_MACRO
   2555 #    define gl_signbitl(arg) \
   2556        ({ union { long double _value;                                   \
   2557                   unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \
   2558                 } _m;                                                   \
   2559           _m._value = (arg);                                            \
   2560           (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1;        \
   2561         })
   2562 #   endif
   2563 #  endif
   2564 #  define signbit(x) \
   2565    (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \
   2566     sizeof (x) == sizeof (double) ? gl_signbitd (x) : \
   2567     gl_signbitf (x))
   2568 # endif
   2569 # ifdef __cplusplus
   2570 #  ifdef signbit
   2571 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit)
   2572 #   undef signbit
   2573 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
   2574 #  endif
   2575 # endif
   2576 #elif defined GNULIB_POSIXCHECK
   2577 # if defined signbit
   2578 _GL_WARN_REAL_FLOATING_DECL (signbit);
   2579 #  undef signbit
   2580 #  define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x)
   2581 # endif
   2582 #endif
   2583 
   2584 _GL_INLINE_HEADER_END
   2585 
   2586 #endif /* _GL_MATH_H */
   2587 #endif /* _GL_MATH_H */
   2588