Home | History | Annotate | Line # | Download | only in import
      1 /* This file is automatically generated.  DO NOT EDIT! */
      2 /* Generated from: NetBSD: mknative-gdb,v 1.16 2023/07/31 17:09:59 christos Exp  */
      3 /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
      4 
      5 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
      6 /* A GNU-like <math.h>.
      7 
      8    Copyright (C) 2002-2003, 2007-2022 Free Software Foundation, Inc.
      9 
     10    This file is free software: you can redistribute it and/or modify
     11    it under the terms of the GNU Lesser General Public License as
     12    published by the Free Software Foundation; either version 2.1 of the
     13    License, or (at your option) any later version.
     14 
     15    This file is distributed in the hope that it will be useful,
     16    but WITHOUT ANY WARRANTY; without even the implied warranty of
     17    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     18    GNU Lesser General Public License for more details.
     19 
     20    You should have received a copy of the GNU Lesser General Public License
     21    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
     22 
     23 #ifndef _GL_MATH_H
     24 
     25 #if __GNUC__ >= 3
     26 #pragma GCC system_header
     27 #endif
     28 
     29 
     30 #if defined _GL_INCLUDING_MATH_H
     31 /* Special invocation convention:
     32    - On FreeBSD 12.2 we have a sequence of nested includes
     33      <math.h> -> <stdlib.h> -> <sys/wait.h> -> <sys/types.h> -> <sys/select.h>
     34        -> <signal.h> -> <pthread.h> -> <stdlib.h> -> <math.h>
     35      In this situation, the functions are not yet declared, therefore we cannot
     36      provide the C++ aliases.  */
     37 
     38 #include_next <math.h>
     39 
     40 #else
     41 /* Normal invocation convention.  */
     42 
     43 /* The include_next requires a split double-inclusion guard.  */
     44 #define _GL_INCLUDING_MATH_H
     45 #include_next <math.h>
     46 #undef _GL_INCLUDING_MATH_H
     47 
     48 #ifndef _GL_MATH_H
     49 #define _GL_MATH_H
     50 
     51 /* On OpenVMS, NAN, INFINITY, and HUGEVAL macros are defined in <fp.h>.  */
     52 #if defined __VMS && ! defined NAN
     53 # include <fp.h>
     54 #endif
     55 
     56 #ifndef _GL_INLINE_HEADER_BEGIN
     57  #error "Please include config.h first."
     58 #endif
     59 _GL_INLINE_HEADER_BEGIN
     60 #ifndef _GL_MATH_INLINE
     61 # define _GL_MATH_INLINE _GL_INLINE
     62 #endif
     63 
     64 /* The __attribute__ feature is available in gcc versions 2.5 and later.
     65    The attribute __const__ was added in gcc 2.95.  */
     66 #ifndef _GL_ATTRIBUTE_CONST
     67 # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) || defined __clang__
     68 #  define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
     69 # else
     70 #  define _GL_ATTRIBUTE_CONST /* empty */
     71 # endif
     72 #endif
     73 
     74 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
     75 /* C++ compatible function declaration macros.
     76    Copyright (C) 2010-2022 Free Software Foundation, Inc.
     77 
     78    This program is free software: you can redistribute it and/or modify it
     79    under the terms of the GNU Lesser General Public License as published
     80    by the Free Software Foundation; either version 2 of the License, or
     81    (at your option) any later version.
     82 
     83    This program is distributed in the hope that it will be useful,
     84    but WITHOUT ANY WARRANTY; without even the implied warranty of
     85    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     86    Lesser General Public License for more details.
     87 
     88    You should have received a copy of the GNU Lesser General Public License
     89    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
     90 
     91 #ifndef _GL_CXXDEFS_H
     92 #define _GL_CXXDEFS_H
     93 
     94 /* Begin/end the GNULIB_NAMESPACE namespace.  */
     95 #if defined __cplusplus && defined GNULIB_NAMESPACE
     96 # define _GL_BEGIN_NAMESPACE namespace GNULIB_NAMESPACE {
     97 # define _GL_END_NAMESPACE }
     98 #else
     99 # define _GL_BEGIN_NAMESPACE
    100 # define _GL_END_NAMESPACE
    101 #endif
    102 
    103 /* The three most frequent use cases of these macros are:
    104 
    105    * For providing a substitute for a function that is missing on some
    106      platforms, but is declared and works fine on the platforms on which
    107      it exists:
    108 
    109        #if @GNULIB_FOO@
    110        # if !@HAVE_FOO@
    111        _GL_FUNCDECL_SYS (foo, ...);
    112        # endif
    113        _GL_CXXALIAS_SYS (foo, ...);
    114        _GL_CXXALIASWARN (foo);
    115        #elif defined GNULIB_POSIXCHECK
    116        ...
    117        #endif
    118 
    119    * For providing a replacement for a function that exists on all platforms,
    120      but is broken/insufficient and needs to be replaced on some platforms:
    121 
    122        #if @GNULIB_FOO@
    123        # if @REPLACE_FOO@
    124        #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    125        #   undef foo
    126        #   define foo rpl_foo
    127        #  endif
    128        _GL_FUNCDECL_RPL (foo, ...);
    129        _GL_CXXALIAS_RPL (foo, ...);
    130        # else
    131        _GL_CXXALIAS_SYS (foo, ...);
    132        # endif
    133        _GL_CXXALIASWARN (foo);
    134        #elif defined GNULIB_POSIXCHECK
    135        ...
    136        #endif
    137 
    138    * For providing a replacement for a function that exists on some platforms
    139      but is broken/insufficient and needs to be replaced on some of them and
    140      is additionally either missing or undeclared on some other platforms:
    141 
    142        #if @GNULIB_FOO@
    143        # if @REPLACE_FOO@
    144        #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    145        #   undef foo
    146        #   define foo rpl_foo
    147        #  endif
    148        _GL_FUNCDECL_RPL (foo, ...);
    149        _GL_CXXALIAS_RPL (foo, ...);
    150        # else
    151        #  if !@HAVE_FOO@   or   if !@HAVE_DECL_FOO@
    152        _GL_FUNCDECL_SYS (foo, ...);
    153        #  endif
    154        _GL_CXXALIAS_SYS (foo, ...);
    155        # endif
    156        _GL_CXXALIASWARN (foo);
    157        #elif defined GNULIB_POSIXCHECK
    158        ...
    159        #endif
    160 */
    161 
    162 /* _GL_EXTERN_C declaration;
    163    performs the declaration with C linkage.  */
    164 #if defined __cplusplus
    165 # define _GL_EXTERN_C extern "C"
    166 #else
    167 # define _GL_EXTERN_C extern
    168 #endif
    169 
    170 /* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
    171    declares a replacement function, named rpl_func, with the given prototype,
    172    consisting of return type, parameters, and attributes.
    173    Example:
    174      _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
    175                                   _GL_ARG_NONNULL ((1)));
    176  */
    177 #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
    178   _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
    179 #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
    180   _GL_EXTERN_C rettype rpl_func parameters_and_attributes
    181 
    182 /* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
    183    declares the system function, named func, with the given prototype,
    184    consisting of return type, parameters, and attributes.
    185    Example:
    186      _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
    187                                   _GL_ARG_NONNULL ((1)));
    188  */
    189 #define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
    190   _GL_EXTERN_C rettype func parameters_and_attributes
    191 
    192 /* _GL_CXXALIAS_RPL (func, rettype, parameters);
    193    declares a C++ alias called GNULIB_NAMESPACE::func
    194    that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
    195    Example:
    196      _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
    197 
    198    Wrapping rpl_func in an object with an inline conversion operator
    199    avoids a reference to rpl_func unless GNULIB_NAMESPACE::func is
    200    actually used in the program.  */
    201 #define _GL_CXXALIAS_RPL(func,rettype,parameters) \
    202   _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
    203 #if defined __cplusplus && defined GNULIB_NAMESPACE
    204 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
    205     namespace GNULIB_NAMESPACE                                \
    206     {                                                         \
    207       static const struct _gl_ ## func ## _wrapper            \
    208       {                                                       \
    209         typedef rettype (*type) parameters;                   \
    210                                                               \
    211         inline operator type () const                         \
    212         {                                                     \
    213           return ::rpl_func;                                  \
    214         }                                                     \
    215       } func = {};                                            \
    216     }                                                         \
    217     _GL_EXTERN_C int _gl_cxxalias_dummy
    218 #else
    219 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
    220     _GL_EXTERN_C int _gl_cxxalias_dummy
    221 #endif
    222 
    223 /* _GL_CXXALIAS_MDA (func, rettype, parameters);
    224    is to be used when func is a Microsoft deprecated alias, on native Windows.
    225    It declares a C++ alias called GNULIB_NAMESPACE::func
    226    that redirects to _func, if GNULIB_NAMESPACE is defined.
    227    Example:
    228      _GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
    229  */
    230 #define _GL_CXXALIAS_MDA(func,rettype,parameters) \
    231   _GL_CXXALIAS_RPL_1 (func, _##func, rettype, parameters)
    232 
    233 /* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
    234    is like  _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
    235    except that the C function rpl_func may have a slightly different
    236    declaration.  A cast is used to silence the "invalid conversion" error
    237    that would otherwise occur.  */
    238 #if defined __cplusplus && defined GNULIB_NAMESPACE
    239 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
    240     namespace GNULIB_NAMESPACE                                     \
    241     {                                                              \
    242       static const struct _gl_ ## func ## _wrapper                 \
    243       {                                                            \
    244         typedef rettype (*type) parameters;                        \
    245                                                                    \
    246         inline operator type () const                              \
    247         {                                                          \
    248           return reinterpret_cast<type>(::rpl_func);               \
    249         }                                                          \
    250       } func = {};                                                 \
    251     }                                                              \
    252     _GL_EXTERN_C int _gl_cxxalias_dummy
    253 #else
    254 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
    255     _GL_EXTERN_C int _gl_cxxalias_dummy
    256 #endif
    257 
    258 /* _GL_CXXALIAS_MDA_CAST (func, rettype, parameters);
    259    is like  _GL_CXXALIAS_MDA (func, rettype, parameters);
    260    except that the C function func may have a slightly different declaration.
    261    A cast is used to silence the "invalid conversion" error that would
    262    otherwise occur.  */
    263 #define _GL_CXXALIAS_MDA_CAST(func,rettype,parameters) \
    264   _GL_CXXALIAS_RPL_CAST_1 (func, _##func, rettype, parameters)
    265 
    266 /* _GL_CXXALIAS_SYS (func, rettype, parameters);
    267    declares a C++ alias called GNULIB_NAMESPACE::func
    268    that redirects to the system provided function func, if GNULIB_NAMESPACE
    269    is defined.
    270    Example:
    271      _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
    272 
    273    Wrapping func in an object with an inline conversion operator
    274    avoids a reference to func unless GNULIB_NAMESPACE::func is
    275    actually used in the program.  */
    276 #if defined __cplusplus && defined GNULIB_NAMESPACE
    277 # define _GL_CXXALIAS_SYS(func,rettype,parameters)            \
    278     namespace GNULIB_NAMESPACE                                \
    279     {                                                         \
    280       static const struct _gl_ ## func ## _wrapper            \
    281       {                                                       \
    282         typedef rettype (*type) parameters;                   \
    283                                                               \
    284         inline operator type () const                         \
    285         {                                                     \
    286           return ::func;                                      \
    287         }                                                     \
    288       } func = {};                                            \
    289     }                                                         \
    290     _GL_EXTERN_C int _gl_cxxalias_dummy
    291 #else
    292 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
    293     _GL_EXTERN_C int _gl_cxxalias_dummy
    294 #endif
    295 
    296 /* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
    297    is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
    298    except that the C function func may have a slightly different declaration.
    299    A cast is used to silence the "invalid conversion" error that would
    300    otherwise occur.  */
    301 #if defined __cplusplus && defined GNULIB_NAMESPACE
    302 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
    303     namespace GNULIB_NAMESPACE                          \
    304     {                                                   \
    305       static const struct _gl_ ## func ## _wrapper      \
    306       {                                                 \
    307         typedef rettype (*type) parameters;             \
    308                                                         \
    309         inline operator type () const                   \
    310         {                                               \
    311           return reinterpret_cast<type>(::func);        \
    312         }                                               \
    313       } func = {};                                      \
    314     }                                                   \
    315     _GL_EXTERN_C int _gl_cxxalias_dummy
    316 #else
    317 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
    318     _GL_EXTERN_C int _gl_cxxalias_dummy
    319 #endif
    320 
    321 /* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
    322    is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
    323    except that the C function is picked among a set of overloaded functions,
    324    namely the one with rettype2 and parameters2.  Two consecutive casts
    325    are used to silence the "cannot find a match" and "invalid conversion"
    326    errors that would otherwise occur.  */
    327 #if defined __cplusplus && defined GNULIB_NAMESPACE
    328   /* The outer cast must be a reinterpret_cast.
    329      The inner cast: When the function is defined as a set of overloaded
    330      functions, it works as a static_cast<>, choosing the designated variant.
    331      When the function is defined as a single variant, it works as a
    332      reinterpret_cast<>. The parenthesized cast syntax works both ways.  */
    333 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
    334     namespace GNULIB_NAMESPACE                                                \
    335     {                                                                         \
    336       static const struct _gl_ ## func ## _wrapper                            \
    337       {                                                                       \
    338         typedef rettype (*type) parameters;                                   \
    339                                                                               \
    340         inline operator type () const                                         \
    341         {                                                                     \
    342           return reinterpret_cast<type>((rettype2 (*) parameters2)(::func));  \
    343         }                                                                     \
    344       } func = {};                                                            \
    345     }                                                                         \
    346     _GL_EXTERN_C int _gl_cxxalias_dummy
    347 #else
    348 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
    349     _GL_EXTERN_C int _gl_cxxalias_dummy
    350 #endif
    351 
    352 /* _GL_CXXALIASWARN (func);
    353    causes a warning to be emitted when ::func is used but not when
    354    GNULIB_NAMESPACE::func is used.  func must be defined without overloaded
    355    variants.  */
    356 #if defined __cplusplus && defined GNULIB_NAMESPACE
    357 # define _GL_CXXALIASWARN(func) \
    358    _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
    359 # define _GL_CXXALIASWARN_1(func,namespace) \
    360    _GL_CXXALIASWARN_2 (func, namespace)
    361 /* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
    362    we enable the warning only when not optimizing.  */
    363 # if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
    364 #  define _GL_CXXALIASWARN_2(func,namespace) \
    365     _GL_WARN_ON_USE (func, \
    366                      "The symbol ::" #func " refers to the system function. " \
    367                      "Use " #namespace "::" #func " instead.")
    368 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    369 #  define _GL_CXXALIASWARN_2(func,namespace) \
    370      extern __typeof__ (func) func
    371 # else
    372 #  define _GL_CXXALIASWARN_2(func,namespace) \
    373      _GL_EXTERN_C int _gl_cxxalias_dummy
    374 # endif
    375 #else
    376 # define _GL_CXXALIASWARN(func) \
    377     _GL_EXTERN_C int _gl_cxxalias_dummy
    378 #endif
    379 
    380 /* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
    381    causes a warning to be emitted when the given overloaded variant of ::func
    382    is used but not when GNULIB_NAMESPACE::func is used.  */
    383 #if defined __cplusplus && defined GNULIB_NAMESPACE
    384 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
    385    _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
    386                         GNULIB_NAMESPACE)
    387 # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
    388    _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
    389 /* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
    390    we enable the warning only when not optimizing.  */
    391 # if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
    392 #  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
    393     _GL_WARN_ON_USE_CXX (func, rettype, rettype, parameters_and_attributes, \
    394                          "The symbol ::" #func " refers to the system function. " \
    395                          "Use " #namespace "::" #func " instead.")
    396 # else
    397 #  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
    398      _GL_EXTERN_C int _gl_cxxalias_dummy
    399 # endif
    400 #else
    401 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
    402     _GL_EXTERN_C int _gl_cxxalias_dummy
    403 #endif
    404 
    405 #endif /* _GL_CXXDEFS_H */
    406 
    407 /* The definition of _GL_ARG_NONNULL is copied here.  */
    408 /* A C macro for declaring that specific arguments must not be NULL.
    409    Copyright (C) 2009-2022 Free Software Foundation, Inc.
    410 
    411    This program is free software: you can redistribute it and/or modify it
    412    under the terms of the GNU Lesser General Public License as published
    413    by the Free Software Foundation; either version 2 of the License, or
    414    (at your option) any later version.
    415 
    416    This program is distributed in the hope that it will be useful,
    417    but WITHOUT ANY WARRANTY; without even the implied warranty of
    418    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    419    Lesser General Public License for more details.
    420 
    421    You should have received a copy of the GNU Lesser General Public License
    422    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
    423 
    424 /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
    425    that the values passed as arguments n, ..., m must be non-NULL pointers.
    426    n = 1 stands for the first argument, n = 2 for the second argument etc.  */
    427 #ifndef _GL_ARG_NONNULL
    428 # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || defined __clang__
    429 #  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
    430 # else
    431 #  define _GL_ARG_NONNULL(params)
    432 # endif
    433 #endif
    434 
    435 /* The definition of _GL_WARN_ON_USE is copied here.  */
    436 /* A C macro for emitting warnings if a function is used.
    437    Copyright (C) 2010-2022 Free Software Foundation, Inc.
    438 
    439    This program is free software: you can redistribute it and/or modify it
    440    under the terms of the GNU Lesser General Public License as published
    441    by the Free Software Foundation; either version 2 of the License, or
    442    (at your option) any later version.
    443 
    444    This program is distributed in the hope that it will be useful,
    445    but WITHOUT ANY WARRANTY; without even the implied warranty of
    446    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    447    Lesser General Public License for more details.
    448 
    449    You should have received a copy of the GNU Lesser General Public License
    450    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
    451 
    452 /* _GL_WARN_ON_USE (function, "literal string") issues a declaration
    453    for FUNCTION which will then trigger a compiler warning containing
    454    the text of "literal string" anywhere that function is called, if
    455    supported by the compiler.  If the compiler does not support this
    456    feature, the macro expands to an unused extern declaration.
    457 
    458    _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the
    459    attribute used in _GL_WARN_ON_USE.  If the compiler does not support
    460    this feature, it expands to empty.
    461 
    462    These macros are useful for marking a function as a potential
    463    portability trap, with the intent that "literal string" include
    464    instructions on the replacement function that should be used
    465    instead.
    466    _GL_WARN_ON_USE is for functions with 'extern' linkage.
    467    _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
    468    linkage.
    469 
    470    However, one of the reasons that a function is a portability trap is
    471    if it has the wrong signature.  Declaring FUNCTION with a different
    472    signature in C is a compilation error, so this macro must use the
    473    same type as any existing declaration so that programs that avoid
    474    the problematic FUNCTION do not fail to compile merely because they
    475    included a header that poisoned the function.  But this implies that
    476    _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already
    477    have a declaration.  Use of this macro implies that there must not
    478    be any other macro hiding the declaration of FUNCTION; but
    479    undefining FUNCTION first is part of the poisoning process anyway
    480    (although for symbols that are provided only via a macro, the result
    481    is a compilation error rather than a warning containing
    482    "literal string").  Also note that in C++, it is only safe to use if
    483    FUNCTION has no overloads.
    484 
    485    For an example, it is possible to poison 'getline' by:
    486    - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
    487      [getline]) in configure.ac, which potentially defines
    488      HAVE_RAW_DECL_GETLINE
    489    - adding this code to a header that wraps the system <stdio.h>:
    490      #undef getline
    491      #if HAVE_RAW_DECL_GETLINE
    492      _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
    493        "not universally present; use the gnulib module getline");
    494      #endif
    495 
    496    It is not possible to directly poison global variables.  But it is
    497    possible to write a wrapper accessor function, and poison that
    498    (less common usage, like &environ, will cause a compilation error
    499    rather than issue the nice warning, but the end result of informing
    500    the developer about their portability problem is still achieved):
    501      #if HAVE_RAW_DECL_ENVIRON
    502      static char ***
    503      rpl_environ (void) { return &environ; }
    504      _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
    505      # undef environ
    506      # define environ (*rpl_environ ())
    507      #endif
    508    or better (avoiding contradictory use of 'static' and 'extern'):
    509      #if HAVE_RAW_DECL_ENVIRON
    510      static char ***
    511      _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared")
    512      rpl_environ (void) { return &environ; }
    513      # undef environ
    514      # define environ (*rpl_environ ())
    515      #endif
    516    */
    517 #ifndef _GL_WARN_ON_USE
    518 
    519 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
    520 /* A compiler attribute is available in gcc versions 4.3.0 and later.  */
    521 #  define _GL_WARN_ON_USE(function, message) \
    522 _GL_WARN_EXTERN_C __typeof__ (function) function __attribute__ ((__warning__ (message)))
    523 #  define _GL_WARN_ON_USE_ATTRIBUTE(message) \
    524   __attribute__ ((__warning__ (message)))
    525 # elif __clang_major__ >= 4
    526 /* Another compiler attribute is available in clang.  */
    527 #  define _GL_WARN_ON_USE(function, message) \
    528 _GL_WARN_EXTERN_C __typeof__ (function) function \
    529   __attribute__ ((__diagnose_if__ (1, message, "warning")))
    530 #  define _GL_WARN_ON_USE_ATTRIBUTE(message) \
    531   __attribute__ ((__diagnose_if__ (1, message, "warning")))
    532 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    533 /* Verify the existence of the function.  */
    534 #  define _GL_WARN_ON_USE(function, message) \
    535 _GL_WARN_EXTERN_C __typeof__ (function) function
    536 #  define _GL_WARN_ON_USE_ATTRIBUTE(message)
    537 # else /* Unsupported.  */
    538 #  define _GL_WARN_ON_USE(function, message) \
    539 _GL_WARN_EXTERN_C int _gl_warn_on_use
    540 #  define _GL_WARN_ON_USE_ATTRIBUTE(message)
    541 # endif
    542 #endif
    543 
    544 /* _GL_WARN_ON_USE_CXX (function, rettype_gcc, rettype_clang, parameters_and_attributes, "message")
    545    is like _GL_WARN_ON_USE (function, "message"), except that in C++ mode the
    546    function is declared with the given prototype, consisting of return type,
    547    parameters, and attributes.
    548    This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
    549    not work in this case.  */
    550 #ifndef _GL_WARN_ON_USE_CXX
    551 # if !defined __cplusplus
    552 #  define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
    553      _GL_WARN_ON_USE (function, msg)
    554 # else
    555 #  if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
    556 /* A compiler attribute is available in gcc versions 4.3.0 and later.  */
    557 #   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
    558 extern rettype_gcc function parameters_and_attributes \
    559   __attribute__ ((__warning__ (msg)))
    560 #  elif __clang_major__ >= 4
    561 /* Another compiler attribute is available in clang.  */
    562 #   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
    563 extern rettype_clang function parameters_and_attributes \
    564   __attribute__ ((__diagnose_if__ (1, msg, "warning")))
    565 #  elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    566 /* Verify the existence of the function.  */
    567 #   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
    568 extern rettype_gcc function parameters_and_attributes
    569 #  else /* Unsupported.  */
    570 #   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
    571 _GL_WARN_EXTERN_C int _gl_warn_on_use
    572 #  endif
    573 # endif
    574 #endif
    575 
    576 /* _GL_WARN_EXTERN_C declaration;
    577    performs the declaration with C linkage.  */
    578 #ifndef _GL_WARN_EXTERN_C
    579 # if defined __cplusplus
    580 #  define _GL_WARN_EXTERN_C extern "C"
    581 # else
    582 #  define _GL_WARN_EXTERN_C extern
    583 # endif
    584 #endif
    585 
    586 #ifdef __cplusplus
    587 /* Helper macros to define type-generic function FUNC as overloaded functions,
    588    rather than as macros like in C.  POSIX declares these with an argument of
    589    real-floating (that is, one of float, double, or long double).  */
    590 # define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \
    591 static inline int                                                   \
    592 _gl_cxx_ ## func ## f (float f)                                     \
    593 {                                                                   \
    594   return func (f);                                                  \
    595 }                                                                   \
    596 static inline int                                                   \
    597 _gl_cxx_ ## func ## d (double d)                                    \
    598 {                                                                   \
    599   return func (d);                                                  \
    600 }                                                                   \
    601 static inline int                                                   \
    602 _gl_cxx_ ## func ## l (long double l)                               \
    603 {                                                                   \
    604   return func (l);                                                  \
    605 }
    606 # define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func,rpl_func,rettype) \
    607 _GL_BEGIN_NAMESPACE                                                 \
    608 inline rettype                                                      \
    609 rpl_func (float f)                                                  \
    610 {                                                                   \
    611   return _gl_cxx_ ## func ## f (f);                                 \
    612 }                                                                   \
    613 inline rettype                                                      \
    614 rpl_func (double d)                                                 \
    615 {                                                                   \
    616   return _gl_cxx_ ## func ## d (d);                                 \
    617 }                                                                   \
    618 inline rettype                                                      \
    619 rpl_func (long double l)                                            \
    620 {                                                                   \
    621   return _gl_cxx_ ## func ## l (l);                                 \
    622 }                                                                   \
    623 _GL_END_NAMESPACE
    624 #endif
    625 
    626 /* Helper macros to define a portability warning for the
    627    classification macro FUNC called with VALUE.  POSIX declares the
    628    classification macros with an argument of real-floating (that is,
    629    one of float, double, or long double).  */
    630 #define _GL_WARN_REAL_FLOATING_DECL(func) \
    631 _GL_MATH_INLINE int                                                       \
    632 _GL_WARN_ON_USE_ATTRIBUTE (#func " is unportable - "                      \
    633                            "use gnulib module " #func " for portability") \
    634 rpl_ ## func ## f (float f)                                               \
    635 {                                                                         \
    636   return func (f);                                                        \
    637 }                                                                         \
    638 _GL_MATH_INLINE int                                                       \
    639 _GL_WARN_ON_USE_ATTRIBUTE (#func " is unportable - "                      \
    640                            "use gnulib module " #func " for portability") \
    641 rpl_ ## func ## d (double d)                                              \
    642 {                                                                         \
    643   return func (d);                                                        \
    644 }                                                                         \
    645 _GL_MATH_INLINE int                                                       \
    646 _GL_WARN_ON_USE_ATTRIBUTE (#func " is unportable - "                      \
    647                            "use gnulib module " #func " for portability") \
    648 rpl_ ## func ## l (long double l)                                         \
    649 {                                                                         \
    650   return func (l);                                                        \
    651 }
    652 #define _GL_WARN_REAL_FLOATING_IMPL(func, value) \
    653   (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value)     \
    654    : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value)  \
    655    : rpl_ ## func ## l (value))
    656 
    657 
    658 #if 0
    659 /* Pull in a function that fixes the 'int' to 'long double' conversion
    660    of glibc 2.7.  */
    661 _GL_EXTERN_C void _Qp_itoq (long double *, int);
    662 static void (*_gl_math_fix_itold) (long double *, int) = _Qp_itoq;
    663 #endif
    664 
    665 
    666 /* POSIX allows platforms that don't support NAN.  But all major
    667    machines in the past 15 years have supported something close to
    668    IEEE NaN, so we define this unconditionally.  We also must define
    669    it on platforms like Solaris 10, where NAN is present but defined
    670    as a function pointer rather than a floating point constant.  */
    671 #if !defined NAN || 0
    672 # if !GNULIB_defined_NAN
    673 #  undef NAN
    674   /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler
    675      choke on the expression 0.0 / 0.0.  */
    676 #  if defined __DECC || defined _MSC_VER
    677 _GL_MATH_INLINE float
    678 _NaN ()
    679 {
    680   static float zero = 0.0f;
    681   return zero / zero;
    682 }
    683 #   define NAN (_NaN())
    684 #  else
    685 #   define NAN (0.0f / 0.0f)
    686 #  endif
    687 #  define GNULIB_defined_NAN 1
    688 # endif
    689 #endif
    690 
    691 /* Solaris 10 defines HUGE_VAL, but as a function pointer rather
    692    than a floating point constant.  */
    693 #if 0
    694 # undef HUGE_VALF
    695 # define HUGE_VALF (1.0f / 0.0f)
    696 # undef HUGE_VAL
    697 # define HUGE_VAL (1.0 / 0.0)
    698 # undef HUGE_VALL
    699 # define HUGE_VALL (1.0L / 0.0L)
    700 #endif
    701 
    702 /* HUGE_VALF is a 'float' Infinity.  */
    703 #ifndef HUGE_VALF
    704 # if defined _MSC_VER
    705 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f.  */
    706 #  define HUGE_VALF (1e25f * 1e25f)
    707 # else
    708 #  define HUGE_VALF (1.0f / 0.0f)
    709 # endif
    710 #endif
    711 
    712 /* HUGE_VAL is a 'double' Infinity.  */
    713 #ifndef HUGE_VAL
    714 # if defined _MSC_VER
    715 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0.  */
    716 #  define HUGE_VAL (1e250 * 1e250)
    717 # else
    718 #  define HUGE_VAL (1.0 / 0.0)
    719 # endif
    720 #endif
    721 
    722 /* HUGE_VALL is a 'long double' Infinity.  */
    723 #ifndef HUGE_VALL
    724 # if defined _MSC_VER
    725 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L.  */
    726 #  define HUGE_VALL (1e250L * 1e250L)
    727 # else
    728 #  define HUGE_VALL (1.0L / 0.0L)
    729 # endif
    730 #endif
    731 
    732 
    733 #if defined FP_ILOGB0 && defined FP_ILOGBNAN
    734  /* Ensure FP_ILOGB0 and FP_ILOGBNAN are correct.  */
    735 # if defined __HAIKU__
    736   /* Haiku: match what ilogb() does */
    737 #  undef FP_ILOGB0
    738 #  undef FP_ILOGBNAN
    739 #  define FP_ILOGB0   (- 2147483647 - 1) /* INT_MIN */
    740 #  define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
    741 # endif
    742 #else
    743  /* Ensure FP_ILOGB0 and FP_ILOGBNAN are defined.  */
    744 # if defined __NetBSD__ || defined __sgi
    745   /* NetBSD, IRIX 6.5: match what ilogb() does */
    746 #  define FP_ILOGB0   (- 2147483647 - 1) /* INT_MIN */
    747 #  define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
    748 # elif defined _AIX
    749   /* AIX 5.1: match what ilogb() does in AIX >= 5.2 */
    750 #  define FP_ILOGB0   (- 2147483647 - 1) /* INT_MIN */
    751 #  define FP_ILOGBNAN 2147483647 /* INT_MAX */
    752 # elif defined __sun
    753   /* Solaris 9: match what ilogb() does */
    754 #  define FP_ILOGB0   (- 2147483647) /* - INT_MAX */
    755 #  define FP_ILOGBNAN 2147483647 /* INT_MAX */
    756 # else
    757   /* Gnulib defined values.  */
    758 #  define FP_ILOGB0   (- 2147483647) /* - INT_MAX */
    759 #  define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
    760 # endif
    761 #endif
    762 
    763 
    764 #if 0
    765 # if 0
    766 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    767 #   undef acosf
    768 #   define acosf rpl_acosf
    769 #  endif
    770 _GL_FUNCDECL_RPL (acosf, float, (float x));
    771 _GL_CXXALIAS_RPL (acosf, float, (float x));
    772 # else
    773 #  if !1
    774 #   undef acosf
    775 _GL_FUNCDECL_SYS (acosf, float, (float x));
    776 #  endif
    777 _GL_CXXALIAS_SYS (acosf, float, (float x));
    778 # endif
    779 _GL_CXXALIASWARN (acosf);
    780 #elif defined GNULIB_POSIXCHECK
    781 # undef acosf
    782 # if HAVE_RAW_DECL_ACOSF
    783 _GL_WARN_ON_USE (acosf, "acosf is unportable - "
    784                  "use gnulib module acosf for portability");
    785 # endif
    786 #endif
    787 
    788 #if 0
    789 # if !1 || !1
    790 #  undef acosl
    791 _GL_FUNCDECL_SYS (acosl, long double, (long double x));
    792 # endif
    793 _GL_CXXALIAS_SYS (acosl, long double, (long double x));
    794 # if __GLIBC__ >= 2
    795 _GL_CXXALIASWARN (acosl);
    796 # endif
    797 #elif defined GNULIB_POSIXCHECK
    798 # undef acosl
    799 # if HAVE_RAW_DECL_ACOSL
    800 _GL_WARN_ON_USE (acosl, "acosl is unportable - "
    801                  "use gnulib module acosl for portability");
    802 # endif
    803 #endif
    804 
    805 
    806 #if 0
    807 # if 0
    808 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    809 #   undef asinf
    810 #   define asinf rpl_asinf
    811 #  endif
    812 _GL_FUNCDECL_RPL (asinf, float, (float x));
    813 _GL_CXXALIAS_RPL (asinf, float, (float x));
    814 # else
    815 #  if !1
    816 #   undef asinf
    817 _GL_FUNCDECL_SYS (asinf, float, (float x));
    818 #  endif
    819 _GL_CXXALIAS_SYS (asinf, float, (float x));
    820 # endif
    821 _GL_CXXALIASWARN (asinf);
    822 #elif defined GNULIB_POSIXCHECK
    823 # undef asinf
    824 # if HAVE_RAW_DECL_ASINF
    825 _GL_WARN_ON_USE (asinf, "asinf is unportable - "
    826                  "use gnulib module asinf for portability");
    827 # endif
    828 #endif
    829 
    830 #if 0
    831 # if !1 || !1
    832 #  undef asinl
    833 _GL_FUNCDECL_SYS (asinl, long double, (long double x));
    834 # endif
    835 _GL_CXXALIAS_SYS (asinl, long double, (long double x));
    836 # if __GLIBC__ >= 2
    837 _GL_CXXALIASWARN (asinl);
    838 # endif
    839 #elif defined GNULIB_POSIXCHECK
    840 # undef asinl
    841 # if HAVE_RAW_DECL_ASINL
    842 _GL_WARN_ON_USE (asinl, "asinl is unportable - "
    843                  "use gnulib module asinl for portability");
    844 # endif
    845 #endif
    846 
    847 
    848 #if 0
    849 # if 0
    850 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    851 #   undef atanf
    852 #   define atanf rpl_atanf
    853 #  endif
    854 _GL_FUNCDECL_RPL (atanf, float, (float x));
    855 _GL_CXXALIAS_RPL (atanf, float, (float x));
    856 # else
    857 #  if !1
    858 #   undef atanf
    859 _GL_FUNCDECL_SYS (atanf, float, (float x));
    860 #  endif
    861 _GL_CXXALIAS_SYS (atanf, float, (float x));
    862 # endif
    863 _GL_CXXALIASWARN (atanf);
    864 #elif defined GNULIB_POSIXCHECK
    865 # undef atanf
    866 # if HAVE_RAW_DECL_ATANF
    867 _GL_WARN_ON_USE (atanf, "atanf is unportable - "
    868                  "use gnulib module atanf for portability");
    869 # endif
    870 #endif
    871 
    872 #if 0
    873 # if !1 || !1
    874 #  undef atanl
    875 _GL_FUNCDECL_SYS (atanl, long double, (long double x));
    876 # endif
    877 _GL_CXXALIAS_SYS (atanl, long double, (long double x));
    878 # if __GLIBC__ >= 2
    879 _GL_CXXALIASWARN (atanl);
    880 # endif
    881 #elif defined GNULIB_POSIXCHECK
    882 # undef atanl
    883 # if HAVE_RAW_DECL_ATANL
    884 _GL_WARN_ON_USE (atanl, "atanl is unportable - "
    885                  "use gnulib module atanl for portability");
    886 # endif
    887 #endif
    888 
    889 
    890 #if 0
    891 # if 0
    892 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    893 #   undef atan2f
    894 #   define atan2f rpl_atan2f
    895 #  endif
    896 _GL_FUNCDECL_RPL (atan2f, float, (float y, float x));
    897 _GL_CXXALIAS_RPL (atan2f, float, (float y, float x));
    898 # else
    899 #  if !1
    900 #   undef atan2f
    901 _GL_FUNCDECL_SYS (atan2f, float, (float y, float x));
    902 #  endif
    903 _GL_CXXALIAS_SYS (atan2f, float, (float y, float x));
    904 # endif
    905 _GL_CXXALIASWARN (atan2f);
    906 #elif defined GNULIB_POSIXCHECK
    907 # undef atan2f
    908 # if HAVE_RAW_DECL_ATAN2F
    909 _GL_WARN_ON_USE (atan2f, "atan2f is unportable - "
    910                  "use gnulib module atan2f for portability");
    911 # endif
    912 #endif
    913 
    914 
    915 #if 0
    916 # if 0
    917 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    918 #   undef cbrtf
    919 #   define cbrtf rpl_cbrtf
    920 #  endif
    921 _GL_FUNCDECL_RPL (cbrtf, float, (float x));
    922 _GL_CXXALIAS_RPL (cbrtf, float, (float x));
    923 # else
    924 #  if !1
    925 _GL_FUNCDECL_SYS (cbrtf, float, (float x));
    926 #  endif
    927 _GL_CXXALIAS_SYS (cbrtf, float, (float x));
    928 # endif
    929 _GL_CXXALIASWARN (cbrtf);
    930 #elif defined GNULIB_POSIXCHECK
    931 # undef cbrtf
    932 # if HAVE_RAW_DECL_CBRTF
    933 _GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - "
    934                  "use gnulib module cbrtf for portability");
    935 # endif
    936 #endif
    937 
    938 #if 0
    939 # if !1
    940 _GL_FUNCDECL_SYS (cbrt, double, (double x));
    941 # endif
    942 _GL_CXXALIAS_SYS (cbrt, double, (double x));
    943 # if __GLIBC__ >= 2
    944 _GL_CXXALIASWARN1 (cbrt, double, (double x));
    945 # endif
    946 #elif defined GNULIB_POSIXCHECK
    947 # undef cbrt
    948 # if HAVE_RAW_DECL_CBRT
    949 _GL_WARN_ON_USE (cbrt, "cbrt is unportable - "
    950                  "use gnulib module cbrt for portability");
    951 # endif
    952 #endif
    953 
    954 #if 0
    955 # if 0
    956 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    957 #   undef cbrtl
    958 #   define cbrtl rpl_cbrtl
    959 #  endif
    960 _GL_FUNCDECL_RPL (cbrtl, long double, (long double x));
    961 _GL_CXXALIAS_RPL (cbrtl, long double, (long double x));
    962 # else
    963 #  if !1
    964 _GL_FUNCDECL_SYS (cbrtl, long double, (long double x));
    965 #  endif
    966 _GL_CXXALIAS_SYS (cbrtl, long double, (long double x));
    967 # endif
    968 _GL_CXXALIASWARN (cbrtl);
    969 #elif defined GNULIB_POSIXCHECK
    970 # undef cbrtl
    971 # if HAVE_RAW_DECL_CBRTL
    972 _GL_WARN_ON_USE (cbrtl, "cbrtl is unportable - "
    973                  "use gnulib module cbrtl for portability");
    974 # endif
    975 #endif
    976 
    977 
    978 #if 0
    979 # if 0
    980 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    981 #   undef ceilf
    982 #   define ceilf rpl_ceilf
    983 #  endif
    984 _GL_FUNCDECL_RPL (ceilf, float, (float x));
    985 _GL_CXXALIAS_RPL (ceilf, float, (float x));
    986 # else
    987 #  if !1
    988 #   undef ceilf
    989 _GL_FUNCDECL_SYS (ceilf, float, (float x));
    990 #  endif
    991 _GL_CXXALIAS_SYS (ceilf, float, (float x));
    992 # endif
    993 _GL_CXXALIASWARN (ceilf);
    994 #elif defined GNULIB_POSIXCHECK
    995 # undef ceilf
    996 # if HAVE_RAW_DECL_CEILF
    997 _GL_WARN_ON_USE (ceilf, "ceilf is unportable - "
    998                  "use gnulib module ceilf for portability");
    999 # endif
   1000 #endif
   1001 
   1002 #if 0
   1003 # if 0
   1004 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1005 #   undef ceil
   1006 #   define ceil rpl_ceil
   1007 #  endif
   1008 _GL_FUNCDECL_RPL (ceil, double, (double x));
   1009 _GL_CXXALIAS_RPL (ceil, double, (double x));
   1010 # else
   1011 _GL_CXXALIAS_SYS (ceil, double, (double x));
   1012 # endif
   1013 # if __GLIBC__ >= 2
   1014 _GL_CXXALIASWARN1 (ceil, double, (double x));
   1015 # endif
   1016 #endif
   1017 
   1018 #if 0
   1019 # if 0
   1020 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1021 #   undef ceill
   1022 #   define ceill rpl_ceill
   1023 #  endif
   1024 _GL_FUNCDECL_RPL (ceill, long double, (long double x));
   1025 _GL_CXXALIAS_RPL (ceill, long double, (long double x));
   1026 # else
   1027 #  if !1
   1028 #   undef ceill
   1029 _GL_FUNCDECL_SYS (ceill, long double, (long double x));
   1030 #  endif
   1031 _GL_CXXALIAS_SYS (ceill, long double, (long double x));
   1032 # endif
   1033 # if __GLIBC__ >= 2
   1034 _GL_CXXALIASWARN (ceill);
   1035 # endif
   1036 #elif defined GNULIB_POSIXCHECK
   1037 # undef ceill
   1038 # if HAVE_RAW_DECL_CEILL
   1039 _GL_WARN_ON_USE (ceill, "ceill is unportable - "
   1040                  "use gnulib module ceill for portability");
   1041 # endif
   1042 #endif
   1043 
   1044 
   1045 #if 0
   1046 # if !1
   1047 #  undef copysignf
   1048 _GL_FUNCDECL_SYS (copysignf, float, (float x, float y));
   1049 # endif
   1050 _GL_CXXALIAS_SYS (copysignf, float, (float x, float y));
   1051 _GL_CXXALIASWARN (copysignf);
   1052 #elif defined GNULIB_POSIXCHECK
   1053 # undef copysignf
   1054 # if HAVE_RAW_DECL_COPYSIGNF
   1055 _GL_WARN_ON_USE (copysignf, "copysignf is unportable - "
   1056                  "use gnulib module copysignf for portability");
   1057 # endif
   1058 #endif
   1059 
   1060 #if 0
   1061 # if !1
   1062 _GL_FUNCDECL_SYS (copysign, double, (double x, double y));
   1063 # endif
   1064 _GL_CXXALIAS_SYS (copysign, double, (double x, double y));
   1065 # if __GLIBC__ >= 2
   1066 _GL_CXXALIASWARN1 (copysign, double, (double x, double y));
   1067 # endif
   1068 #elif defined GNULIB_POSIXCHECK
   1069 # undef copysign
   1070 # if HAVE_RAW_DECL_COPYSIGN
   1071 _GL_WARN_ON_USE (copysign, "copysign is unportable - "
   1072                  "use gnulib module copysign for portability");
   1073 # endif
   1074 #endif
   1075 
   1076 #if 0
   1077 # if !1
   1078 _GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y));
   1079 # endif
   1080 _GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y));
   1081 _GL_CXXALIASWARN (copysignl);
   1082 #elif defined GNULIB_POSIXCHECK
   1083 # undef copysignl
   1084 # if HAVE_RAW_DECL_COPYSIGNL
   1085 _GL_WARN_ON_USE (copysign, "copysignl is unportable - "
   1086                  "use gnulib module copysignl for portability");
   1087 # endif
   1088 #endif
   1089 
   1090 
   1091 #if 0
   1092 # if 0
   1093 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1094 #   undef cosf
   1095 #   define cosf rpl_cosf
   1096 #  endif
   1097 _GL_FUNCDECL_RPL (cosf, float, (float x));
   1098 _GL_CXXALIAS_RPL (cosf, float, (float x));
   1099 # else
   1100 #  if !1
   1101 #   undef cosf
   1102 _GL_FUNCDECL_SYS (cosf, float, (float x));
   1103 #  endif
   1104 _GL_CXXALIAS_SYS (cosf, float, (float x));
   1105 # endif
   1106 _GL_CXXALIASWARN (cosf);
   1107 #elif defined GNULIB_POSIXCHECK
   1108 # undef cosf
   1109 # if HAVE_RAW_DECL_COSF
   1110 _GL_WARN_ON_USE (cosf, "cosf is unportable - "
   1111                  "use gnulib module cosf for portability");
   1112 # endif
   1113 #endif
   1114 
   1115 #if 0
   1116 # if !1 || !1
   1117 #  undef cosl
   1118 _GL_FUNCDECL_SYS (cosl, long double, (long double x));
   1119 # endif
   1120 _GL_CXXALIAS_SYS (cosl, long double, (long double x));
   1121 # if __GLIBC__ >= 2
   1122 _GL_CXXALIASWARN (cosl);
   1123 # endif
   1124 #elif defined GNULIB_POSIXCHECK
   1125 # undef cosl
   1126 # if HAVE_RAW_DECL_COSL
   1127 _GL_WARN_ON_USE (cosl, "cosl is unportable - "
   1128                  "use gnulib module cosl for portability");
   1129 # endif
   1130 #endif
   1131 
   1132 
   1133 #if 0
   1134 # if 0
   1135 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1136 #   undef coshf
   1137 #   define coshf rpl_coshf
   1138 #  endif
   1139 _GL_FUNCDECL_RPL (coshf, float, (float x));
   1140 _GL_CXXALIAS_RPL (coshf, float, (float x));
   1141 # else
   1142 #  if !1
   1143 #   undef coshf
   1144 _GL_FUNCDECL_SYS (coshf, float, (float x));
   1145 #  endif
   1146 _GL_CXXALIAS_SYS (coshf, float, (float x));
   1147 # endif
   1148 _GL_CXXALIASWARN (coshf);
   1149 #elif defined GNULIB_POSIXCHECK
   1150 # undef coshf
   1151 # if HAVE_RAW_DECL_COSHF
   1152 _GL_WARN_ON_USE (coshf, "coshf is unportable - "
   1153                  "use gnulib module coshf for portability");
   1154 # endif
   1155 #endif
   1156 
   1157 
   1158 #if 0
   1159 # if 0
   1160 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1161 #   undef expf
   1162 #   define expf rpl_expf
   1163 #  endif
   1164 _GL_FUNCDECL_RPL (expf, float, (float x));
   1165 _GL_CXXALIAS_RPL (expf, float, (float x));
   1166 # else
   1167 #  if !1
   1168 #   undef expf
   1169 _GL_FUNCDECL_SYS (expf, float, (float x));
   1170 #  endif
   1171 _GL_CXXALIAS_SYS (expf, float, (float x));
   1172 # endif
   1173 _GL_CXXALIASWARN (expf);
   1174 #elif defined GNULIB_POSIXCHECK
   1175 # undef expf
   1176 # if HAVE_RAW_DECL_EXPF
   1177 _GL_WARN_ON_USE (expf, "expf is unportable - "
   1178                  "use gnulib module expf for portability");
   1179 # endif
   1180 #endif
   1181 
   1182 #if 0
   1183 # if 0
   1184 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1185 #   undef expl
   1186 #   define expl rpl_expl
   1187 #  endif
   1188 _GL_FUNCDECL_RPL (expl, long double, (long double x));
   1189 _GL_CXXALIAS_RPL (expl, long double, (long double x));
   1190 # else
   1191 #  if !1 || !1
   1192 #   undef expl
   1193 _GL_FUNCDECL_SYS (expl, long double, (long double x));
   1194 #  endif
   1195 _GL_CXXALIAS_SYS (expl, long double, (long double x));
   1196 # endif
   1197 # if __GLIBC__ >= 2
   1198 _GL_CXXALIASWARN (expl);
   1199 # endif
   1200 #elif defined GNULIB_POSIXCHECK
   1201 # undef expl
   1202 # if HAVE_RAW_DECL_EXPL
   1203 _GL_WARN_ON_USE (expl, "expl is unportable - "
   1204                  "use gnulib module expl for portability");
   1205 # endif
   1206 #endif
   1207 
   1208 
   1209 #if 0
   1210 # if !1
   1211 _GL_FUNCDECL_SYS (exp2f, float, (float x));
   1212 # endif
   1213 _GL_CXXALIAS_SYS (exp2f, float, (float x));
   1214 _GL_CXXALIASWARN (exp2f);
   1215 #elif defined GNULIB_POSIXCHECK
   1216 # undef exp2f
   1217 # if HAVE_RAW_DECL_EXP2F
   1218 _GL_WARN_ON_USE (exp2f, "exp2f is unportable - "
   1219                  "use gnulib module exp2f for portability");
   1220 # endif
   1221 #endif
   1222 
   1223 #if 0
   1224 # if 0
   1225 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1226 #   undef exp2
   1227 #   define exp2 rpl_exp2
   1228 #  endif
   1229 _GL_FUNCDECL_RPL (exp2, double, (double x));
   1230 _GL_CXXALIAS_RPL (exp2, double, (double x));
   1231 # else
   1232 #  if !1
   1233 _GL_FUNCDECL_SYS (exp2, double, (double x));
   1234 #  endif
   1235 _GL_CXXALIAS_SYS (exp2, double, (double x));
   1236 # endif
   1237 # if __GLIBC__ >= 2
   1238 _GL_CXXALIASWARN1 (exp2, double, (double x));
   1239 # endif
   1240 #elif defined GNULIB_POSIXCHECK
   1241 # undef exp2
   1242 # if HAVE_RAW_DECL_EXP2
   1243 _GL_WARN_ON_USE (exp2, "exp2 is unportable - "
   1244                  "use gnulib module exp2 for portability");
   1245 # endif
   1246 #endif
   1247 
   1248 #if 0
   1249 # if 0
   1250 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1251 #   undef exp2l
   1252 #   define exp2l rpl_exp2l
   1253 #  endif
   1254 _GL_FUNCDECL_RPL (exp2l, long double, (long double x));
   1255 _GL_CXXALIAS_RPL (exp2l, long double, (long double x));
   1256 # else
   1257 #  if !1
   1258 #   undef exp2l
   1259 _GL_FUNCDECL_SYS (exp2l, long double, (long double x));
   1260 #  endif
   1261 _GL_CXXALIAS_SYS (exp2l, long double, (long double x));
   1262 # endif
   1263 _GL_CXXALIASWARN (exp2l);
   1264 #elif defined GNULIB_POSIXCHECK
   1265 # undef exp2l
   1266 # if HAVE_RAW_DECL_EXP2L
   1267 _GL_WARN_ON_USE (exp2l, "exp2l is unportable - "
   1268                  "use gnulib module exp2l for portability");
   1269 # endif
   1270 #endif
   1271 
   1272 
   1273 #if 0
   1274 # if 0
   1275 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1276 #   undef expm1f
   1277 #   define expm1f rpl_expm1f
   1278 #  endif
   1279 _GL_FUNCDECL_RPL (expm1f, float, (float x));
   1280 _GL_CXXALIAS_RPL (expm1f, float, (float x));
   1281 # else
   1282 #  if !1
   1283 _GL_FUNCDECL_SYS (expm1f, float, (float x));
   1284 #  endif
   1285 _GL_CXXALIAS_SYS (expm1f, float, (float x));
   1286 # endif
   1287 _GL_CXXALIASWARN (expm1f);
   1288 #elif defined GNULIB_POSIXCHECK
   1289 # undef expm1f
   1290 # if HAVE_RAW_DECL_EXPM1F
   1291 _GL_WARN_ON_USE (expm1f, "expm1f is unportable - "
   1292                  "use gnulib module expm1f for portability");
   1293 # endif
   1294 #endif
   1295 
   1296 #if 0
   1297 # if 0
   1298 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1299 #   undef expm1
   1300 #   define expm1 rpl_expm1
   1301 #  endif
   1302 _GL_FUNCDECL_RPL (expm1, double, (double x));
   1303 _GL_CXXALIAS_RPL (expm1, double, (double x));
   1304 # else
   1305 #  if !1
   1306 _GL_FUNCDECL_SYS (expm1, double, (double x));
   1307 #  endif
   1308 _GL_CXXALIAS_SYS (expm1, double, (double x));
   1309 # endif
   1310 # if __GLIBC__ >= 2
   1311 _GL_CXXALIASWARN1 (expm1, double, (double x));
   1312 # endif
   1313 #elif defined GNULIB_POSIXCHECK
   1314 # undef expm1
   1315 # if HAVE_RAW_DECL_EXPM1
   1316 _GL_WARN_ON_USE (expm1, "expm1 is unportable - "
   1317                  "use gnulib module expm1 for portability");
   1318 # endif
   1319 #endif
   1320 
   1321 #if 0
   1322 # if 0
   1323 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1324 #   undef expm1l
   1325 #   define expm1l rpl_expm1l
   1326 #  endif
   1327 _GL_FUNCDECL_RPL (expm1l, long double, (long double x));
   1328 _GL_CXXALIAS_RPL (expm1l, long double, (long double x));
   1329 # else
   1330 #  if !1
   1331 #   undef expm1l
   1332 #   if !(defined __cplusplus && defined _AIX)
   1333 _GL_FUNCDECL_SYS (expm1l, long double, (long double x));
   1334 #   endif
   1335 #  endif
   1336 _GL_CXXALIAS_SYS (expm1l, long double, (long double x));
   1337 # endif
   1338 _GL_CXXALIASWARN (expm1l);
   1339 #elif defined GNULIB_POSIXCHECK
   1340 # undef expm1l
   1341 # if HAVE_RAW_DECL_EXPM1L
   1342 _GL_WARN_ON_USE (expm1l, "expm1l is unportable - "
   1343                  "use gnulib module expm1l for portability");
   1344 # endif
   1345 #endif
   1346 
   1347 
   1348 #if 0
   1349 # if !1
   1350 #  undef fabsf
   1351 _GL_FUNCDECL_SYS (fabsf, float, (float x));
   1352 # endif
   1353 _GL_CXXALIAS_SYS (fabsf, float, (float x));
   1354 # if __GLIBC__ >= 2
   1355 _GL_CXXALIASWARN (fabsf);
   1356 # endif
   1357 #elif defined GNULIB_POSIXCHECK
   1358 # undef fabsf
   1359 # if HAVE_RAW_DECL_FABSF
   1360 _GL_WARN_ON_USE (fabsf, "fabsf is unportable - "
   1361                  "use gnulib module fabsf for portability");
   1362 # endif
   1363 #endif
   1364 
   1365 #if 0
   1366 # if 0
   1367 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1368 #   undef fabsl
   1369 #   define fabsl rpl_fabsl
   1370 #  endif
   1371 _GL_FUNCDECL_RPL (fabsl, long double, (long double x));
   1372 _GL_CXXALIAS_RPL (fabsl, long double, (long double x));
   1373 # else
   1374 #  if !1
   1375 #   undef fabsl
   1376 _GL_FUNCDECL_SYS (fabsl, long double, (long double x));
   1377 #  endif
   1378 _GL_CXXALIAS_SYS (fabsl, long double, (long double x));
   1379 # endif
   1380 # if __GLIBC__ >= 2
   1381 _GL_CXXALIASWARN (fabsl);
   1382 # endif
   1383 #elif defined GNULIB_POSIXCHECK
   1384 # undef fabsl
   1385 # if HAVE_RAW_DECL_FABSL
   1386 _GL_WARN_ON_USE (fabsl, "fabsl is unportable - "
   1387                  "use gnulib module fabsl for portability");
   1388 # endif
   1389 #endif
   1390 
   1391 
   1392 #if 0
   1393 # if 0
   1394 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1395 #   undef floorf
   1396 #   define floorf rpl_floorf
   1397 #  endif
   1398 _GL_FUNCDECL_RPL (floorf, float, (float x));
   1399 _GL_CXXALIAS_RPL (floorf, float, (float x));
   1400 # else
   1401 #  if !1
   1402 #   undef floorf
   1403 _GL_FUNCDECL_SYS (floorf, float, (float x));
   1404 #  endif
   1405 _GL_CXXALIAS_SYS (floorf, float, (float x));
   1406 # endif
   1407 _GL_CXXALIASWARN (floorf);
   1408 #elif defined GNULIB_POSIXCHECK
   1409 # undef floorf
   1410 # if HAVE_RAW_DECL_FLOORF
   1411 _GL_WARN_ON_USE (floorf, "floorf is unportable - "
   1412                  "use gnulib module floorf for portability");
   1413 # endif
   1414 #endif
   1415 
   1416 #if 0
   1417 # if 0
   1418 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1419 #   undef floor
   1420 #   define floor rpl_floor
   1421 #  endif
   1422 _GL_FUNCDECL_RPL (floor, double, (double x));
   1423 _GL_CXXALIAS_RPL (floor, double, (double x));
   1424 # else
   1425 _GL_CXXALIAS_SYS (floor, double, (double x));
   1426 # endif
   1427 # if __GLIBC__ >= 2
   1428 _GL_CXXALIASWARN1 (floor, double, (double x));
   1429 # endif
   1430 #endif
   1431 
   1432 #if 0
   1433 # if 0
   1434 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1435 #   undef floorl
   1436 #   define floorl rpl_floorl
   1437 #  endif
   1438 _GL_FUNCDECL_RPL (floorl, long double, (long double x));
   1439 _GL_CXXALIAS_RPL (floorl, long double, (long double x));
   1440 # else
   1441 #  if !1
   1442 #   undef floorl
   1443 _GL_FUNCDECL_SYS (floorl, long double, (long double x));
   1444 #  endif
   1445 _GL_CXXALIAS_SYS (floorl, long double, (long double x));
   1446 # endif
   1447 # if __GLIBC__ >= 2
   1448 _GL_CXXALIASWARN (floorl);
   1449 # endif
   1450 #elif defined GNULIB_POSIXCHECK
   1451 # undef floorl
   1452 # if HAVE_RAW_DECL_FLOORL
   1453 _GL_WARN_ON_USE (floorl, "floorl is unportable - "
   1454                  "use gnulib module floorl for portability");
   1455 # endif
   1456 #endif
   1457 
   1458 
   1459 #if 0
   1460 # if 0
   1461 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1462 #   undef fmaf
   1463 #   define fmaf rpl_fmaf
   1464 #  endif
   1465 _GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z));
   1466 _GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z));
   1467 # else
   1468 #  if !1
   1469 #   undef fmaf
   1470 _GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z));
   1471 #  endif
   1472 _GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z));
   1473 # endif
   1474 _GL_CXXALIASWARN (fmaf);
   1475 #elif defined GNULIB_POSIXCHECK
   1476 # undef fmaf
   1477 # if HAVE_RAW_DECL_FMAF
   1478 _GL_WARN_ON_USE (fmaf, "fmaf is unportable - "
   1479                  "use gnulib module fmaf for portability");
   1480 # endif
   1481 #endif
   1482 
   1483 #if 0
   1484 # if 0
   1485 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1486 #   undef fma
   1487 #   define fma rpl_fma
   1488 #  endif
   1489 _GL_FUNCDECL_RPL (fma, double, (double x, double y, double z));
   1490 _GL_CXXALIAS_RPL (fma, double, (double x, double y, double z));
   1491 # else
   1492 #  if !1
   1493 #   undef fma
   1494 _GL_FUNCDECL_SYS (fma, double, (double x, double y, double z));
   1495 #  endif
   1496 _GL_CXXALIAS_SYS (fma, double, (double x, double y, double z));
   1497 # endif
   1498 # if __GLIBC__ >= 2
   1499 _GL_CXXALIASWARN1 (fma, double, (double x, double y, double z));
   1500 # endif
   1501 #elif defined GNULIB_POSIXCHECK
   1502 # undef fma
   1503 # if HAVE_RAW_DECL_FMA
   1504 _GL_WARN_ON_USE (fma, "fma is unportable - "
   1505                  "use gnulib module fma for portability");
   1506 # endif
   1507 #endif
   1508 
   1509 #if 0
   1510 # if 0
   1511 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1512 #   undef fmal
   1513 #   define fmal rpl_fmal
   1514 #  endif
   1515 _GL_FUNCDECL_RPL (fmal, long double,
   1516                   (long double x, long double y, long double z));
   1517 _GL_CXXALIAS_RPL (fmal, long double,
   1518                   (long double x, long double y, long double z));
   1519 # else
   1520 #  if !1
   1521 #   undef fmal
   1522 #   if !(defined __cplusplus && defined _AIX)
   1523 _GL_FUNCDECL_SYS (fmal, long double,
   1524                   (long double x, long double y, long double z));
   1525 #   endif
   1526 #  endif
   1527 _GL_CXXALIAS_SYS (fmal, long double,
   1528                   (long double x, long double y, long double z));
   1529 # endif
   1530 _GL_CXXALIASWARN (fmal);
   1531 #elif defined GNULIB_POSIXCHECK
   1532 # undef fmal
   1533 # if HAVE_RAW_DECL_FMAL
   1534 _GL_WARN_ON_USE (fmal, "fmal is unportable - "
   1535                  "use gnulib module fmal for portability");
   1536 # endif
   1537 #endif
   1538 
   1539 
   1540 #if 0
   1541 # if 0
   1542 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1543 #   undef fmodf
   1544 #   define fmodf rpl_fmodf
   1545 #  endif
   1546 _GL_FUNCDECL_RPL (fmodf, float, (float x, float y));
   1547 _GL_CXXALIAS_RPL (fmodf, float, (float x, float y));
   1548 # else
   1549 #  if !1
   1550 #   undef fmodf
   1551 _GL_FUNCDECL_SYS (fmodf, float, (float x, float y));
   1552 #  endif
   1553 _GL_CXXALIAS_SYS (fmodf, float, (float x, float y));
   1554 # endif
   1555 _GL_CXXALIASWARN (fmodf);
   1556 #elif defined GNULIB_POSIXCHECK
   1557 # undef fmodf
   1558 # if HAVE_RAW_DECL_FMODF
   1559 _GL_WARN_ON_USE (fmodf, "fmodf is unportable - "
   1560                  "use gnulib module fmodf for portability");
   1561 # endif
   1562 #endif
   1563 
   1564 #if 0
   1565 # if 0
   1566 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1567 #   undef fmod
   1568 #   define fmod rpl_fmod
   1569 #  endif
   1570 _GL_FUNCDECL_RPL (fmod, double, (double x, double y));
   1571 _GL_CXXALIAS_RPL (fmod, double, (double x, double y));
   1572 # else
   1573 _GL_CXXALIAS_SYS (fmod, double, (double x, double y));
   1574 # endif
   1575 # if __GLIBC__ >= 2
   1576 _GL_CXXALIASWARN1 (fmod, double, (double x, double y));
   1577 # endif
   1578 #elif defined GNULIB_POSIXCHECK
   1579 # undef fmod
   1580 # if HAVE_RAW_DECL_FMOD
   1581 _GL_WARN_ON_USE (fmod, "fmod has portability problems - "
   1582                  "use gnulib module fmod for portability");
   1583 # endif
   1584 #endif
   1585 
   1586 #if 0
   1587 # if 0
   1588 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1589 #   undef fmodl
   1590 #   define fmodl rpl_fmodl
   1591 #  endif
   1592 _GL_FUNCDECL_RPL (fmodl, long double, (long double x, long double y));
   1593 _GL_CXXALIAS_RPL (fmodl, long double, (long double x, long double y));
   1594 # else
   1595 #  if !1
   1596 #   undef fmodl
   1597 _GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y));
   1598 #  endif
   1599 _GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y));
   1600 # endif
   1601 # if __GLIBC__ >= 2
   1602 _GL_CXXALIASWARN (fmodl);
   1603 # endif
   1604 #elif defined GNULIB_POSIXCHECK
   1605 # undef fmodl
   1606 # if HAVE_RAW_DECL_FMODL
   1607 _GL_WARN_ON_USE (fmodl, "fmodl is unportable - "
   1608                  "use gnulib module fmodl for portability");
   1609 # endif
   1610 #endif
   1611 
   1612 
   1613 /* Write x as
   1614      x = mantissa * 2^exp
   1615    where
   1616      If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
   1617      If x is zero: mantissa = x, exp = 0.
   1618      If x is infinite or NaN: mantissa = x, exp unspecified.
   1619    Store exp in *EXPPTR and return mantissa.  */
   1620 #if 0
   1621 # if 0
   1622 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1623 #   undef frexpf
   1624 #   define frexpf rpl_frexpf
   1625 #  endif
   1626 _GL_FUNCDECL_RPL (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2)));
   1627 _GL_CXXALIAS_RPL (frexpf, float, (float x, int *expptr));
   1628 # else
   1629 #  if !1
   1630 #   undef frexpf
   1631 _GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2)));
   1632 #  endif
   1633 _GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr));
   1634 # endif
   1635 # if __GLIBC__ >= 2
   1636 _GL_CXXALIASWARN (frexpf);
   1637 # endif
   1638 #elif defined GNULIB_POSIXCHECK
   1639 # undef frexpf
   1640 # if HAVE_RAW_DECL_FREXPF
   1641 _GL_WARN_ON_USE (frexpf, "frexpf is unportable - "
   1642                  "use gnulib module frexpf for portability");
   1643 # endif
   1644 #endif
   1645 
   1646 /* Write x as
   1647      x = mantissa * 2^exp
   1648    where
   1649      If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
   1650      If x is zero: mantissa = x, exp = 0.
   1651      If x is infinite or NaN: mantissa = x, exp unspecified.
   1652    Store exp in *EXPPTR and return mantissa.  */
   1653 #if 1
   1654 # if 1
   1655 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1656 #   undef frexp
   1657 #   define frexp rpl_frexp
   1658 #  endif
   1659 _GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2)));
   1660 _GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr));
   1661 # else
   1662 _GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr));
   1663 # endif
   1664 # if __GLIBC__ >= 2
   1665 _GL_CXXALIASWARN1 (frexp, double, (double x, int *expptr));
   1666 # endif
   1667 #elif defined GNULIB_POSIXCHECK
   1668 # undef frexp
   1669 /* Assume frexp is always declared.  */
   1670 _GL_WARN_ON_USE (frexp, "frexp is unportable - "
   1671                  "use gnulib module frexp for portability");
   1672 #endif
   1673 
   1674 /* Write x as
   1675      x = mantissa * 2^exp
   1676    where
   1677      If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
   1678      If x is zero: mantissa = x, exp = 0.
   1679      If x is infinite or NaN: mantissa = x, exp unspecified.
   1680    Store exp in *EXPPTR and return mantissa.  */
   1681 #if 1 && 0
   1682 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1683 #  undef frexpl
   1684 #  define frexpl rpl_frexpl
   1685 # endif
   1686 _GL_FUNCDECL_RPL (frexpl, long double,
   1687                   (long double x, int *expptr) _GL_ARG_NONNULL ((2)));
   1688 _GL_CXXALIAS_RPL (frexpl, long double, (long double x, int *expptr));
   1689 #else
   1690 # if !1
   1691 _GL_FUNCDECL_SYS (frexpl, long double,
   1692                   (long double x, int *expptr) _GL_ARG_NONNULL ((2)));
   1693 # endif
   1694 # if 1
   1695 _GL_CXXALIAS_SYS (frexpl, long double, (long double x, int *expptr));
   1696 # endif
   1697 #endif
   1698 #if 1 && !(0 && !1)
   1699 # if __GLIBC__ >= 2
   1700 _GL_CXXALIASWARN (frexpl);
   1701 # endif
   1702 #endif
   1703 #if !1 && defined GNULIB_POSIXCHECK
   1704 # undef frexpl
   1705 # if HAVE_RAW_DECL_FREXPL
   1706 _GL_WARN_ON_USE (frexpl, "frexpl is unportable - "
   1707                  "use gnulib module frexpl for portability");
   1708 # endif
   1709 #endif
   1710 
   1711 
   1712 /* Return sqrt(x^2+y^2).  */
   1713 #if 0
   1714 # if 0
   1715 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1716 #   undef hypotf
   1717 #   define hypotf rpl_hypotf
   1718 #  endif
   1719 _GL_FUNCDECL_RPL (hypotf, float, (float x, float y));
   1720 _GL_CXXALIAS_RPL (hypotf, float, (float x, float y));
   1721 # else
   1722 #  if !1
   1723 _GL_FUNCDECL_SYS (hypotf, float, (float x, float y));
   1724 #  endif
   1725 _GL_CXXALIAS_SYS (hypotf, float, (float x, float y));
   1726 # endif
   1727 # if __GLIBC__ >= 2
   1728 _GL_CXXALIASWARN (hypotf);
   1729 # endif
   1730 #elif defined GNULIB_POSIXCHECK
   1731 # undef hypotf
   1732 # if HAVE_RAW_DECL_HYPOTF
   1733 _GL_WARN_ON_USE (hypotf, "hypotf is unportable - "
   1734                  "use gnulib module hypotf for portability");
   1735 # endif
   1736 #endif
   1737 
   1738 /* Return sqrt(x^2+y^2).  */
   1739 #if 0
   1740 # if 0
   1741 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1742 #   undef hypot
   1743 #   define hypot rpl_hypot
   1744 #  endif
   1745 _GL_FUNCDECL_RPL (hypot, double, (double x, double y));
   1746 _GL_CXXALIAS_RPL (hypot, double, (double x, double y));
   1747 # else
   1748 _GL_CXXALIAS_SYS (hypot, double, (double x, double y));
   1749 # endif
   1750 # if __GLIBC__ >= 2
   1751 _GL_CXXALIASWARN1 (hypot, double, (double x, double y));
   1752 # endif
   1753 #elif defined GNULIB_POSIXCHECK
   1754 # undef hypot
   1755 # if HAVE_RAW_DECL_HYPOT
   1756 _GL_WARN_ON_USE (hypotf, "hypot has portability problems - "
   1757                  "use gnulib module hypot for portability");
   1758 # endif
   1759 #endif
   1760 
   1761 /* Return sqrt(x^2+y^2).  */
   1762 #if 0
   1763 # if 0
   1764 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1765 #   undef hypotl
   1766 #   define hypotl rpl_hypotl
   1767 #  endif
   1768 _GL_FUNCDECL_RPL (hypotl, long double, (long double x, long double y));
   1769 _GL_CXXALIAS_RPL (hypotl, long double, (long double x, long double y));
   1770 # else
   1771 #  if !1
   1772 _GL_FUNCDECL_SYS (hypotl, long double, (long double x, long double y));
   1773 #  endif
   1774 _GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y));
   1775 # endif
   1776 # if __GLIBC__ >= 2
   1777 _GL_CXXALIASWARN (hypotl);
   1778 # endif
   1779 #elif defined GNULIB_POSIXCHECK
   1780 # undef hypotl
   1781 # if HAVE_RAW_DECL_HYPOTL
   1782 _GL_WARN_ON_USE (hypotl, "hypotl is unportable - "
   1783                  "use gnulib module hypotl for portability");
   1784 # endif
   1785 #endif
   1786 
   1787 
   1788 #if 0
   1789 # if 0
   1790 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1791 #   undef ilogbf
   1792 #   define ilogbf rpl_ilogbf
   1793 #  endif
   1794 _GL_FUNCDECL_RPL (ilogbf, int, (float x));
   1795 _GL_CXXALIAS_RPL (ilogbf, int, (float x));
   1796 # else
   1797 #  if !1
   1798 _GL_FUNCDECL_SYS (ilogbf, int, (float x));
   1799 #  endif
   1800 _GL_CXXALIAS_SYS (ilogbf, int, (float x));
   1801 # endif
   1802 _GL_CXXALIASWARN (ilogbf);
   1803 #elif defined GNULIB_POSIXCHECK
   1804 # undef ilogbf
   1805 # if HAVE_RAW_DECL_ILOGBF
   1806 _GL_WARN_ON_USE (ilogbf, "ilogbf is unportable - "
   1807                  "use gnulib module ilogbf for portability");
   1808 # endif
   1809 #endif
   1810 
   1811 #if 0
   1812 # if 0
   1813 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1814 #   undef ilogb
   1815 #   define ilogb rpl_ilogb
   1816 #  endif
   1817 _GL_FUNCDECL_RPL (ilogb, int, (double x));
   1818 _GL_CXXALIAS_RPL (ilogb, int, (double x));
   1819 # else
   1820 #  if !1
   1821 _GL_FUNCDECL_SYS (ilogb, int, (double x));
   1822 #  endif
   1823 _GL_CXXALIAS_SYS (ilogb, int, (double x));
   1824 # endif
   1825 # if __GLIBC__ >= 2
   1826 _GL_CXXALIASWARN1 (ilogb, int, (double x));
   1827 # endif
   1828 #elif defined GNULIB_POSIXCHECK
   1829 # undef ilogb
   1830 # if HAVE_RAW_DECL_ILOGB
   1831 _GL_WARN_ON_USE (ilogb, "ilogb is unportable - "
   1832                  "use gnulib module ilogb for portability");
   1833 # endif
   1834 #endif
   1835 
   1836 #if 0
   1837 # if 0
   1838 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1839 #   undef ilogbl
   1840 #   define ilogbl rpl_ilogbl
   1841 #  endif
   1842 _GL_FUNCDECL_RPL (ilogbl, int, (long double x));
   1843 _GL_CXXALIAS_RPL (ilogbl, int, (long double x));
   1844 # else
   1845 #  if !1
   1846 #   undef ilogbl
   1847 _GL_FUNCDECL_SYS (ilogbl, int, (long double x));
   1848 #  endif
   1849 _GL_CXXALIAS_SYS (ilogbl, int, (long double x));
   1850 # endif
   1851 _GL_CXXALIASWARN (ilogbl);
   1852 #elif defined GNULIB_POSIXCHECK
   1853 # undef ilogbl
   1854 # if HAVE_RAW_DECL_ILOGBL
   1855 _GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - "
   1856                  "use gnulib module ilogbl for portability");
   1857 # endif
   1858 #endif
   1859 
   1860 
   1861 #if 1
   1862 /* On native Windows, map 'j0' to '_j0', so that -loldnames is not
   1863    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
   1864    platforms by defining GNULIB_NAMESPACE::j0 always.  */
   1865 # if defined _WIN32 && !defined __CYGWIN__
   1866 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1867 #   undef j0
   1868 #   define j0 _j0
   1869 #  endif
   1870 _GL_CXXALIAS_MDA (j0, double, (double x));
   1871 # else
   1872 _GL_CXXALIAS_SYS (j0, double, (double x));
   1873 # endif
   1874 _GL_CXXALIASWARN (j0);
   1875 #endif
   1876 
   1877 #if 1
   1878 /* On native Windows, map 'j1' to '_j1', so that -loldnames is not
   1879    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
   1880    platforms by defining GNULIB_NAMESPACE::j1 always.  */
   1881 # if defined _WIN32 && !defined __CYGWIN__
   1882 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1883 #   undef j1
   1884 #   define j1 _j1
   1885 #  endif
   1886 _GL_CXXALIAS_MDA (j1, double, (double x));
   1887 # else
   1888 _GL_CXXALIAS_SYS (j1, double, (double x));
   1889 # endif
   1890 _GL_CXXALIASWARN (j1);
   1891 #endif
   1892 
   1893 #if 1
   1894 /* On native Windows, map 'jn' to '_jn', so that -loldnames is not
   1895    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
   1896    platforms by defining GNULIB_NAMESPACE::jn always.  */
   1897 # if defined _WIN32 && !defined __CYGWIN__
   1898 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1899 #   undef jn
   1900 #   define jn _jn
   1901 #  endif
   1902 _GL_CXXALIAS_MDA (jn, double, (int n, double x));
   1903 # else
   1904 _GL_CXXALIAS_SYS (jn, double, (int n, double x));
   1905 # endif
   1906 _GL_CXXALIASWARN (jn);
   1907 #endif
   1908 
   1909 
   1910 /* Return x * 2^exp.  */
   1911 #if 0
   1912 # if !1
   1913 #  undef ldexpf
   1914 _GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp));
   1915 # endif
   1916 _GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp));
   1917 # if __GLIBC__ >= 2
   1918 _GL_CXXALIASWARN (ldexpf);
   1919 # endif
   1920 #elif defined GNULIB_POSIXCHECK
   1921 # undef ldexpf
   1922 # if HAVE_RAW_DECL_LDEXPF
   1923 _GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - "
   1924                  "use gnulib module ldexpf for portability");
   1925 # endif
   1926 #endif
   1927 
   1928 /* Return x * 2^exp.  */
   1929 #if 0 && 0
   1930 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1931 #  undef ldexpl
   1932 #  define ldexpl rpl_ldexpl
   1933 # endif
   1934 _GL_FUNCDECL_RPL (ldexpl, long double, (long double x, int exp));
   1935 _GL_CXXALIAS_RPL (ldexpl, long double, (long double x, int exp));
   1936 #else
   1937 # if !1
   1938 _GL_FUNCDECL_SYS (ldexpl, long double, (long double x, int exp));
   1939 # endif
   1940 # if 0
   1941 _GL_CXXALIAS_SYS (ldexpl, long double, (long double x, int exp));
   1942 # endif
   1943 #endif
   1944 #if 0
   1945 # if __GLIBC__ >= 2
   1946 _GL_CXXALIASWARN (ldexpl);
   1947 # endif
   1948 #endif
   1949 #if !0 && defined GNULIB_POSIXCHECK
   1950 # undef ldexpl
   1951 # if HAVE_RAW_DECL_LDEXPL
   1952 _GL_WARN_ON_USE (ldexpl, "ldexpl is unportable - "
   1953                  "use gnulib module ldexpl for portability");
   1954 # endif
   1955 #endif
   1956 
   1957 
   1958 #if 0
   1959 # if 0
   1960 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1961 #   undef logf
   1962 #   define logf rpl_logf
   1963 #  endif
   1964 _GL_FUNCDECL_RPL (logf, float, (float x));
   1965 _GL_CXXALIAS_RPL (logf, float, (float x));
   1966 # else
   1967 #  if !1
   1968 #   undef logf
   1969 _GL_FUNCDECL_SYS (logf, float, (float x));
   1970 #  endif
   1971 _GL_CXXALIAS_SYS (logf, float, (float x));
   1972 # endif
   1973 _GL_CXXALIASWARN (logf);
   1974 #elif defined GNULIB_POSIXCHECK
   1975 # undef logf
   1976 # if HAVE_RAW_DECL_LOGF
   1977 _GL_WARN_ON_USE (logf, "logf is unportable - "
   1978                  "use gnulib module logf for portability");
   1979 # endif
   1980 #endif
   1981 
   1982 #if 0
   1983 # if 0
   1984 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1985 #   undef log
   1986 #   define log rpl_log
   1987 #  endif
   1988 _GL_FUNCDECL_RPL (log, double, (double x));
   1989 _GL_CXXALIAS_RPL (log, double, (double x));
   1990 # else
   1991 _GL_CXXALIAS_SYS (log, double, (double x));
   1992 # endif
   1993 # if __GLIBC__ >= 2
   1994 _GL_CXXALIASWARN1 (log, double, (double x));
   1995 # endif
   1996 #elif defined GNULIB_POSIXCHECK
   1997 # undef log
   1998 # if HAVE_RAW_DECL_LOG
   1999 _GL_WARN_ON_USE (log, "log has portability problems - "
   2000                  "use gnulib module log for portability");
   2001 # endif
   2002 #endif
   2003 
   2004 #if 0
   2005 # if 0
   2006 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2007 #   undef logl
   2008 #   define logl rpl_logl
   2009 #  endif
   2010 _GL_FUNCDECL_RPL (logl, long double, (long double x));
   2011 _GL_CXXALIAS_RPL (logl, long double, (long double x));
   2012 # else
   2013 #  if !1 || !1
   2014 #   undef logl
   2015 _GL_FUNCDECL_SYS (logl, long double, (long double x));
   2016 #  endif
   2017 _GL_CXXALIAS_SYS (logl, long double, (long double x));
   2018 # endif
   2019 # if __GLIBC__ >= 2
   2020 _GL_CXXALIASWARN (logl);
   2021 # endif
   2022 #elif defined GNULIB_POSIXCHECK
   2023 # undef logl
   2024 # if HAVE_RAW_DECL_LOGL
   2025 _GL_WARN_ON_USE (logl, "logl is unportable - "
   2026                  "use gnulib module logl for portability");
   2027 # endif
   2028 #endif
   2029 
   2030 
   2031 #if 0
   2032 # if 0
   2033 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2034 #   undef log10f
   2035 #   define log10f rpl_log10f
   2036 #  endif
   2037 _GL_FUNCDECL_RPL (log10f, float, (float x));
   2038 _GL_CXXALIAS_RPL (log10f, float, (float x));
   2039 # else
   2040 #  if !1
   2041 #   undef log10f
   2042 _GL_FUNCDECL_SYS (log10f, float, (float x));
   2043 #  endif
   2044 _GL_CXXALIAS_SYS (log10f, float, (float x));
   2045 # endif
   2046 _GL_CXXALIASWARN (log10f);
   2047 #elif defined GNULIB_POSIXCHECK
   2048 # undef log10f
   2049 # if HAVE_RAW_DECL_LOG10F
   2050 _GL_WARN_ON_USE (log10f, "log10f is unportable - "
   2051                  "use gnulib module log10f for portability");
   2052 # endif
   2053 #endif
   2054 
   2055 #if 0
   2056 # if 0
   2057 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2058 #   undef log10
   2059 #   define log10 rpl_log10
   2060 #  endif
   2061 _GL_FUNCDECL_RPL (log10, double, (double x));
   2062 _GL_CXXALIAS_RPL (log10, double, (double x));
   2063 # else
   2064 _GL_CXXALIAS_SYS (log10, double, (double x));
   2065 # endif
   2066 # if __GLIBC__ >= 2
   2067 _GL_CXXALIASWARN1 (log10, double, (double x));
   2068 # endif
   2069 #elif defined GNULIB_POSIXCHECK
   2070 # undef log10
   2071 # if HAVE_RAW_DECL_LOG10
   2072 _GL_WARN_ON_USE (log10, "log10 has portability problems - "
   2073                  "use gnulib module log10 for portability");
   2074 # endif
   2075 #endif
   2076 
   2077 #if 0
   2078 # if 0
   2079 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2080 #   undef log10l
   2081 #   define log10l rpl_log10l
   2082 #  endif
   2083 _GL_FUNCDECL_RPL (log10l, long double, (long double x));
   2084 _GL_CXXALIAS_RPL (log10l, long double, (long double x));
   2085 # else
   2086 #  if !1 || !1
   2087 #   undef log10l
   2088 _GL_FUNCDECL_SYS (log10l, long double, (long double x));
   2089 #  endif
   2090 _GL_CXXALIAS_SYS (log10l, long double, (long double x));
   2091 # endif
   2092 # if __GLIBC__ >= 2
   2093 _GL_CXXALIASWARN (log10l);
   2094 # endif
   2095 #elif defined GNULIB_POSIXCHECK
   2096 # undef log10l
   2097 # if HAVE_RAW_DECL_LOG10L
   2098 _GL_WARN_ON_USE (log10l, "log10l is unportable - "
   2099                  "use gnulib module log10l for portability");
   2100 # endif
   2101 #endif
   2102 
   2103 
   2104 #if 0
   2105 # if 0
   2106 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2107 #   undef log1pf
   2108 #   define log1pf rpl_log1pf
   2109 #  endif
   2110 _GL_FUNCDECL_RPL (log1pf, float, (float x));
   2111 _GL_CXXALIAS_RPL (log1pf, float, (float x));
   2112 # else
   2113 #  if !1
   2114 _GL_FUNCDECL_SYS (log1pf, float, (float x));
   2115 #  endif
   2116 _GL_CXXALIAS_SYS (log1pf, float, (float x));
   2117 # endif
   2118 _GL_CXXALIASWARN (log1pf);
   2119 #elif defined GNULIB_POSIXCHECK
   2120 # undef log1pf
   2121 # if HAVE_RAW_DECL_LOG1PF
   2122 _GL_WARN_ON_USE (log1pf, "log1pf is unportable - "
   2123                  "use gnulib module log1pf for portability");
   2124 # endif
   2125 #endif
   2126 
   2127 #if 0
   2128 # if 0
   2129 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2130 #   undef log1p
   2131 #   define log1p rpl_log1p
   2132 #  endif
   2133 _GL_FUNCDECL_RPL (log1p, double, (double x));
   2134 _GL_CXXALIAS_RPL (log1p, double, (double x));
   2135 # else
   2136 #  if !1
   2137 _GL_FUNCDECL_SYS (log1p, double, (double x));
   2138 #  endif
   2139 _GL_CXXALIAS_SYS (log1p, double, (double x));
   2140 # endif
   2141 # if __GLIBC__ >= 2
   2142 _GL_CXXALIASWARN1 (log1p, double, (double x));
   2143 # endif
   2144 #elif defined GNULIB_POSIXCHECK
   2145 # undef log1p
   2146 # if HAVE_RAW_DECL_LOG1P
   2147 _GL_WARN_ON_USE (log1p, "log1p has portability problems - "
   2148                  "use gnulib module log1p for portability");
   2149 # endif
   2150 #endif
   2151 
   2152 #if 0
   2153 # if 0
   2154 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2155 #   undef log1pl
   2156 #   define log1pl rpl_log1pl
   2157 #  endif
   2158 _GL_FUNCDECL_RPL (log1pl, long double, (long double x));
   2159 _GL_CXXALIAS_RPL (log1pl, long double, (long double x));
   2160 # else
   2161 #  if !1
   2162 _GL_FUNCDECL_SYS (log1pl, long double, (long double x));
   2163 #  endif
   2164 _GL_CXXALIAS_SYS (log1pl, long double, (long double x));
   2165 # endif
   2166 _GL_CXXALIASWARN (log1pl);
   2167 #elif defined GNULIB_POSIXCHECK
   2168 # undef log1pl
   2169 # if HAVE_RAW_DECL_LOG1PL
   2170 _GL_WARN_ON_USE (log1pl, "log1pl has portability problems - "
   2171                  "use gnulib module log1pl for portability");
   2172 # endif
   2173 #endif
   2174 
   2175 
   2176 #if 0
   2177 # if 0
   2178 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2179 #   undef log2f
   2180 #   define log2f rpl_log2f
   2181 #  endif
   2182 _GL_FUNCDECL_RPL (log2f, float, (float x));
   2183 _GL_CXXALIAS_RPL (log2f, float, (float x));
   2184 # else
   2185 #  if !1
   2186 #   undef log2f
   2187 _GL_FUNCDECL_SYS (log2f, float, (float x));
   2188 #  endif
   2189 _GL_CXXALIAS_SYS (log2f, float, (float x));
   2190 # endif
   2191 _GL_CXXALIASWARN (log2f);
   2192 #elif defined GNULIB_POSIXCHECK
   2193 # undef log2f
   2194 # if HAVE_RAW_DECL_LOG2F
   2195 _GL_WARN_ON_USE (log2f, "log2f is unportable - "
   2196                  "use gnulib module log2f for portability");
   2197 # endif
   2198 #endif
   2199 
   2200 #if 0
   2201 # if 0
   2202 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2203 #   undef log2
   2204 #   define log2 rpl_log2
   2205 #  endif
   2206 _GL_FUNCDECL_RPL (log2, double, (double x));
   2207 _GL_CXXALIAS_RPL (log2, double, (double x));
   2208 # else
   2209 #  if !1
   2210 #   undef log2
   2211 _GL_FUNCDECL_SYS (log2, double, (double x));
   2212 #  endif
   2213 _GL_CXXALIAS_SYS (log2, double, (double x));
   2214 # endif
   2215 # if __GLIBC__ >= 2
   2216 _GL_CXXALIASWARN1 (log2, double, (double x));
   2217 # endif
   2218 #elif defined GNULIB_POSIXCHECK
   2219 # undef log2
   2220 # if HAVE_RAW_DECL_LOG2
   2221 _GL_WARN_ON_USE (log2, "log2 is unportable - "
   2222                  "use gnulib module log2 for portability");
   2223 # endif
   2224 #endif
   2225 
   2226 #if 0
   2227 # if 0
   2228 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2229 #   undef log2l
   2230 #   define log2l rpl_log2l
   2231 #  endif
   2232 _GL_FUNCDECL_RPL (log2l, long double, (long double x));
   2233 _GL_CXXALIAS_RPL (log2l, long double, (long double x));
   2234 # else
   2235 #  if !1
   2236 _GL_FUNCDECL_SYS (log2l, long double, (long double x));
   2237 #  endif
   2238 _GL_CXXALIAS_SYS (log2l, long double, (long double x));
   2239 # endif
   2240 _GL_CXXALIASWARN (log2l);
   2241 #elif defined GNULIB_POSIXCHECK
   2242 # undef log2l
   2243 # if HAVE_RAW_DECL_LOG2L
   2244 _GL_WARN_ON_USE (log2l, "log2l is unportable - "
   2245                  "use gnulib module log2l for portability");
   2246 # endif
   2247 #endif
   2248 
   2249 
   2250 #if 0
   2251 # if 0
   2252 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2253 #   undef logbf
   2254 #   define logbf rpl_logbf
   2255 #  endif
   2256 _GL_FUNCDECL_RPL (logbf, float, (float x));
   2257 _GL_CXXALIAS_RPL (logbf, float, (float x));
   2258 # else
   2259 #  if !1
   2260 _GL_FUNCDECL_SYS (logbf, float, (float x));
   2261 #  endif
   2262 _GL_CXXALIAS_SYS (logbf, float, (float x));
   2263 # endif
   2264 _GL_CXXALIASWARN (logbf);
   2265 #elif defined GNULIB_POSIXCHECK
   2266 # undef logbf
   2267 # if HAVE_RAW_DECL_LOGBF
   2268 _GL_WARN_ON_USE (logbf, "logbf is unportable - "
   2269                  "use gnulib module logbf for portability");
   2270 # endif
   2271 #endif
   2272 
   2273 #if 0
   2274 # if 0
   2275 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2276 #   undef logb
   2277 #   define logb rpl_logb
   2278 #  endif
   2279 _GL_FUNCDECL_RPL (logb, double, (double x));
   2280 _GL_CXXALIAS_RPL (logb, double, (double x));
   2281 # else
   2282 #  if !1
   2283 _GL_FUNCDECL_SYS (logb, double, (double x));
   2284 #  endif
   2285 _GL_CXXALIAS_SYS (logb, double, (double x));
   2286 # endif
   2287 # if __GLIBC__ >= 2
   2288 _GL_CXXALIASWARN1 (logb, double, (double x));
   2289 # endif
   2290 #elif defined GNULIB_POSIXCHECK
   2291 # undef logb
   2292 # if HAVE_RAW_DECL_LOGB
   2293 _GL_WARN_ON_USE (logb, "logb is unportable - "
   2294                  "use gnulib module logb for portability");
   2295 # endif
   2296 #endif
   2297 
   2298 #if 0
   2299 # if 0
   2300 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2301 #   undef logbl
   2302 #   define logbl rpl_logbl
   2303 #  endif
   2304 _GL_FUNCDECL_RPL (logbl, long double, (long double x));
   2305 _GL_CXXALIAS_RPL (logbl, long double, (long double x));
   2306 # else
   2307 #  if !1
   2308 _GL_FUNCDECL_SYS (logbl, long double, (long double x));
   2309 #  endif
   2310 _GL_CXXALIAS_SYS (logbl, long double, (long double x));
   2311 # endif
   2312 _GL_CXXALIASWARN (logbl);
   2313 #elif defined GNULIB_POSIXCHECK
   2314 # undef logbl
   2315 # if HAVE_RAW_DECL_LOGBL
   2316 _GL_WARN_ON_USE (logbl, "logbl is unportable - "
   2317                  "use gnulib module logbl for portability");
   2318 # endif
   2319 #endif
   2320 
   2321 
   2322 #if 0
   2323 # if 0
   2324 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2325 #   undef modff
   2326 #   define modff rpl_modff
   2327 #  endif
   2328 _GL_FUNCDECL_RPL (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2)));
   2329 _GL_CXXALIAS_RPL (modff, float, (float x, float *iptr));
   2330 # else
   2331 #  if !1
   2332 #   undef modff
   2333 _GL_FUNCDECL_SYS (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2)));
   2334 #  endif
   2335 _GL_CXXALIAS_SYS (modff, float, (float x, float *iptr));
   2336 # endif
   2337 _GL_CXXALIASWARN (modff);
   2338 #elif defined GNULIB_POSIXCHECK
   2339 # undef modff
   2340 # if HAVE_RAW_DECL_MODFF
   2341 _GL_WARN_ON_USE (modff, "modff is unportable - "
   2342                  "use gnulib module modff for portability");
   2343 # endif
   2344 #endif
   2345 
   2346 #if 0
   2347 # if 0
   2348 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2349 #   undef modf
   2350 #   define modf rpl_modf
   2351 #  endif
   2352 _GL_FUNCDECL_RPL (modf, double, (double x, double *iptr) _GL_ARG_NONNULL ((2)));
   2353 _GL_CXXALIAS_RPL (modf, double, (double x, double *iptr));
   2354 # else
   2355 _GL_CXXALIAS_SYS (modf, double, (double x, double *iptr));
   2356 # endif
   2357 # if __GLIBC__ >= 2
   2358 _GL_CXXALIASWARN1 (modf, double, (double x, double *iptr));
   2359 # endif
   2360 #elif defined GNULIB_POSIXCHECK
   2361 # undef modf
   2362 # if HAVE_RAW_DECL_MODF
   2363 _GL_WARN_ON_USE (modf, "modf has portability problems - "
   2364                  "use gnulib module modf for portability");
   2365 # endif
   2366 #endif
   2367 
   2368 #if 0
   2369 # if 0
   2370 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2371 #   undef modfl
   2372 #   define modfl rpl_modfl
   2373 #  endif
   2374 _GL_FUNCDECL_RPL (modfl, long double, (long double x, long double *iptr)
   2375                                       _GL_ARG_NONNULL ((2)));
   2376 _GL_CXXALIAS_RPL (modfl, long double, (long double x, long double *iptr));
   2377 # else
   2378 #  if !1
   2379 #   undef modfl
   2380 _GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr)
   2381                                       _GL_ARG_NONNULL ((2)));
   2382 #  endif
   2383 _GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr));
   2384 # endif
   2385 # if __GLIBC__ >= 2
   2386 _GL_CXXALIASWARN (modfl);
   2387 # endif
   2388 #elif defined GNULIB_POSIXCHECK
   2389 # undef modfl
   2390 # if HAVE_RAW_DECL_MODFL
   2391 _GL_WARN_ON_USE (modfl, "modfl is unportable - "
   2392                  "use gnulib module modfl for portability");
   2393 # endif
   2394 #endif
   2395 
   2396 
   2397 #if 0
   2398 # if !1
   2399 #  undef powf
   2400 _GL_FUNCDECL_SYS (powf, float, (float x, float y));
   2401 # endif
   2402 _GL_CXXALIAS_SYS (powf, float, (float x, float y));
   2403 _GL_CXXALIASWARN (powf);
   2404 #elif defined GNULIB_POSIXCHECK
   2405 # undef powf
   2406 # if HAVE_RAW_DECL_POWF
   2407 _GL_WARN_ON_USE (powf, "powf is unportable - "
   2408                  "use gnulib module powf for portability");
   2409 # endif
   2410 #endif
   2411 
   2412 
   2413 #if 0
   2414 # if 0
   2415 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2416 #   undef remainderf
   2417 #   define remainderf rpl_remainderf
   2418 #  endif
   2419 _GL_FUNCDECL_RPL (remainderf, float, (float x, float y));
   2420 _GL_CXXALIAS_RPL (remainderf, float, (float x, float y));
   2421 # else
   2422 #  if !1
   2423 _GL_FUNCDECL_SYS (remainderf, float, (float x, float y));
   2424 #  endif
   2425 _GL_CXXALIAS_SYS (remainderf, float, (float x, float y));
   2426 # endif
   2427 _GL_CXXALIASWARN (remainderf);
   2428 #elif defined GNULIB_POSIXCHECK
   2429 # undef remainderf
   2430 # if HAVE_RAW_DECL_REMAINDERF
   2431 _GL_WARN_ON_USE (remainderf, "remainderf is unportable - "
   2432                  "use gnulib module remainderf for portability");
   2433 # endif
   2434 #endif
   2435 
   2436 #if 0
   2437 # if 0
   2438 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2439 #   undef remainder
   2440 #   define remainder rpl_remainder
   2441 #  endif
   2442 _GL_FUNCDECL_RPL (remainder, double, (double x, double y));
   2443 _GL_CXXALIAS_RPL (remainder, double, (double x, double y));
   2444 # else
   2445 #  if !1 || !1
   2446 _GL_FUNCDECL_SYS (remainder, double, (double x, double y));
   2447 #  endif
   2448 _GL_CXXALIAS_SYS (remainder, double, (double x, double y));
   2449 # endif
   2450 # if __GLIBC__ >= 2
   2451 _GL_CXXALIASWARN1 (remainder, double, (double x, double y));
   2452 # endif
   2453 #elif defined GNULIB_POSIXCHECK
   2454 # undef remainder
   2455 # if HAVE_RAW_DECL_REMAINDER
   2456 _GL_WARN_ON_USE (remainder, "remainder is unportable - "
   2457                  "use gnulib module remainder for portability");
   2458 # endif
   2459 #endif
   2460 
   2461 #if 0
   2462 # if 0
   2463 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2464 #   undef remainderl
   2465 #   define remainderl rpl_remainderl
   2466 #  endif
   2467 _GL_FUNCDECL_RPL (remainderl, long double, (long double x, long double y));
   2468 _GL_CXXALIAS_RPL (remainderl, long double, (long double x, long double y));
   2469 # else
   2470 #  if !1
   2471 #   undef remainderl
   2472 #   if !(defined __cplusplus && defined _AIX)
   2473 _GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y));
   2474 #   endif
   2475 #  endif
   2476 _GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y));
   2477 # endif
   2478 _GL_CXXALIASWARN (remainderl);
   2479 #elif defined GNULIB_POSIXCHECK
   2480 # undef remainderl
   2481 # if HAVE_RAW_DECL_REMAINDERL
   2482 _GL_WARN_ON_USE (remainderl, "remainderl is unportable - "
   2483                  "use gnulib module remainderl for portability");
   2484 # endif
   2485 #endif
   2486 
   2487 
   2488 #if 0
   2489 # if !1
   2490 _GL_FUNCDECL_SYS (rintf, float, (float x));
   2491 # endif
   2492 _GL_CXXALIAS_SYS (rintf, float, (float x));
   2493 _GL_CXXALIASWARN (rintf);
   2494 #elif defined GNULIB_POSIXCHECK
   2495 # undef rintf
   2496 # if HAVE_RAW_DECL_RINTF
   2497 _GL_WARN_ON_USE (rintf, "rintf is unportable - "
   2498                  "use gnulib module rintf for portability");
   2499 # endif
   2500 #endif
   2501 
   2502 #if 0
   2503 # if !1
   2504 _GL_FUNCDECL_SYS (rint, double, (double x));
   2505 # endif
   2506 _GL_CXXALIAS_SYS (rint, double, (double x));
   2507 # if __GLIBC__ >= 2
   2508 _GL_CXXALIASWARN1 (rint, double, (double x));
   2509 # endif
   2510 #elif defined GNULIB_POSIXCHECK
   2511 # undef rint
   2512 # if HAVE_RAW_DECL_RINT
   2513 _GL_WARN_ON_USE (rint, "rint is unportable - "
   2514                  "use gnulib module rint for portability");
   2515 # endif
   2516 #endif
   2517 
   2518 #if 0
   2519 # if 0
   2520 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2521 #   undef rintl
   2522 #   define rintl rpl_rintl
   2523 #  endif
   2524 _GL_FUNCDECL_RPL (rintl, long double, (long double x));
   2525 _GL_CXXALIAS_RPL (rintl, long double, (long double x));
   2526 # else
   2527 #  if !1
   2528 _GL_FUNCDECL_SYS (rintl, long double, (long double x));
   2529 #  endif
   2530 _GL_CXXALIAS_SYS (rintl, long double, (long double x));
   2531 # endif
   2532 _GL_CXXALIASWARN (rintl);
   2533 #elif defined GNULIB_POSIXCHECK
   2534 # undef rintl
   2535 # if HAVE_RAW_DECL_RINTL
   2536 _GL_WARN_ON_USE (rintl, "rintl is unportable - "
   2537                  "use gnulib module rintl for portability");
   2538 # endif
   2539 #endif
   2540 
   2541 
   2542 #if 0
   2543 # if 0
   2544 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2545 #   undef roundf
   2546 #   define roundf rpl_roundf
   2547 #  endif
   2548 _GL_FUNCDECL_RPL (roundf, float, (float x));
   2549 _GL_CXXALIAS_RPL (roundf, float, (float x));
   2550 # else
   2551 #  if !1
   2552 _GL_FUNCDECL_SYS (roundf, float, (float x));
   2553 #  endif
   2554 _GL_CXXALIAS_SYS (roundf, float, (float x));
   2555 # endif
   2556 _GL_CXXALIASWARN (roundf);
   2557 #elif defined GNULIB_POSIXCHECK
   2558 # undef roundf
   2559 # if HAVE_RAW_DECL_ROUNDF
   2560 _GL_WARN_ON_USE (roundf, "roundf is unportable - "
   2561                  "use gnulib module roundf for portability");
   2562 # endif
   2563 #endif
   2564 
   2565 #if 0
   2566 # if 0
   2567 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2568 #   undef round
   2569 #   define round rpl_round
   2570 #  endif
   2571 _GL_FUNCDECL_RPL (round, double, (double x));
   2572 _GL_CXXALIAS_RPL (round, double, (double x));
   2573 # else
   2574 #  if !1
   2575 _GL_FUNCDECL_SYS (round, double, (double x));
   2576 #  endif
   2577 _GL_CXXALIAS_SYS (round, double, (double x));
   2578 # endif
   2579 # if __GLIBC__ >= 2
   2580 _GL_CXXALIASWARN1 (round, double, (double x));
   2581 # endif
   2582 #elif defined GNULIB_POSIXCHECK
   2583 # undef round
   2584 # if HAVE_RAW_DECL_ROUND
   2585 _GL_WARN_ON_USE (round, "round is unportable - "
   2586                  "use gnulib module round for portability");
   2587 # endif
   2588 #endif
   2589 
   2590 #if 0
   2591 # if 0
   2592 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2593 #   undef roundl
   2594 #   define roundl rpl_roundl
   2595 #  endif
   2596 _GL_FUNCDECL_RPL (roundl, long double, (long double x));
   2597 _GL_CXXALIAS_RPL (roundl, long double, (long double x));
   2598 # else
   2599 #  if !1
   2600 #   undef roundl
   2601 #   if !(defined __cplusplus && defined _AIX)
   2602 _GL_FUNCDECL_SYS (roundl, long double, (long double x));
   2603 #   endif
   2604 #  endif
   2605 _GL_CXXALIAS_SYS (roundl, long double, (long double x));
   2606 # endif
   2607 _GL_CXXALIASWARN (roundl);
   2608 #elif defined GNULIB_POSIXCHECK
   2609 # undef roundl
   2610 # if HAVE_RAW_DECL_ROUNDL
   2611 _GL_WARN_ON_USE (roundl, "roundl is unportable - "
   2612                  "use gnulib module roundl for portability");
   2613 # endif
   2614 #endif
   2615 
   2616 
   2617 #if 0
   2618 # if 0
   2619 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2620 #   undef sinf
   2621 #   define sinf rpl_sinf
   2622 #  endif
   2623 _GL_FUNCDECL_RPL (sinf, float, (float x));
   2624 _GL_CXXALIAS_RPL (sinf, float, (float x));
   2625 # else
   2626 #  if !1
   2627 #   undef sinf
   2628 _GL_FUNCDECL_SYS (sinf, float, (float x));
   2629 #  endif
   2630 _GL_CXXALIAS_SYS (sinf, float, (float x));
   2631 # endif
   2632 _GL_CXXALIASWARN (sinf);
   2633 #elif defined GNULIB_POSIXCHECK
   2634 # undef sinf
   2635 # if HAVE_RAW_DECL_SINF
   2636 _GL_WARN_ON_USE (sinf, "sinf is unportable - "
   2637                  "use gnulib module sinf for portability");
   2638 # endif
   2639 #endif
   2640 
   2641 #if 0
   2642 # if !1 || !1
   2643 #  undef sinl
   2644 _GL_FUNCDECL_SYS (sinl, long double, (long double x));
   2645 # endif
   2646 _GL_CXXALIAS_SYS (sinl, long double, (long double x));
   2647 # if __GLIBC__ >= 2
   2648 _GL_CXXALIASWARN (sinl);
   2649 # endif
   2650 #elif defined GNULIB_POSIXCHECK
   2651 # undef sinl
   2652 # if HAVE_RAW_DECL_SINL
   2653 _GL_WARN_ON_USE (sinl, "sinl is unportable - "
   2654                  "use gnulib module sinl for portability");
   2655 # endif
   2656 #endif
   2657 
   2658 
   2659 #if 0
   2660 # if 0
   2661 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2662 #   undef sinhf
   2663 #   define sinhf rpl_sinhf
   2664 #  endif
   2665 _GL_FUNCDECL_RPL (sinhf, float, (float x));
   2666 _GL_CXXALIAS_RPL (sinhf, float, (float x));
   2667 # else
   2668 #  if !1
   2669 #   undef sinhf
   2670 _GL_FUNCDECL_SYS (sinhf, float, (float x));
   2671 #  endif
   2672 _GL_CXXALIAS_SYS (sinhf, float, (float x));
   2673 # endif
   2674 _GL_CXXALIASWARN (sinhf);
   2675 #elif defined GNULIB_POSIXCHECK
   2676 # undef sinhf
   2677 # if HAVE_RAW_DECL_SINHF
   2678 _GL_WARN_ON_USE (sinhf, "sinhf is unportable - "
   2679                  "use gnulib module sinhf for portability");
   2680 # endif
   2681 #endif
   2682 
   2683 
   2684 #if 0
   2685 # if 0
   2686 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2687 #   undef sqrtf
   2688 #   define sqrtf rpl_sqrtf
   2689 #  endif
   2690 _GL_FUNCDECL_RPL (sqrtf, float, (float x));
   2691 _GL_CXXALIAS_RPL (sqrtf, float, (float x));
   2692 # else
   2693 #  if !1
   2694 #   undef sqrtf
   2695 _GL_FUNCDECL_SYS (sqrtf, float, (float x));
   2696 #  endif
   2697 _GL_CXXALIAS_SYS (sqrtf, float, (float x));
   2698 # endif
   2699 _GL_CXXALIASWARN (sqrtf);
   2700 #elif defined GNULIB_POSIXCHECK
   2701 # undef sqrtf
   2702 # if HAVE_RAW_DECL_SQRTF
   2703 _GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - "
   2704                  "use gnulib module sqrtf for portability");
   2705 # endif
   2706 #endif
   2707 
   2708 #if 0
   2709 # if 0
   2710 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2711 #   undef sqrtl
   2712 #   define sqrtl rpl_sqrtl
   2713 #  endif
   2714 _GL_FUNCDECL_RPL (sqrtl, long double, (long double x));
   2715 _GL_CXXALIAS_RPL (sqrtl, long double, (long double x));
   2716 # else
   2717 #  if !1 || !1
   2718 #   undef sqrtl
   2719 _GL_FUNCDECL_SYS (sqrtl, long double, (long double x));
   2720 #  endif
   2721 _GL_CXXALIAS_SYS (sqrtl, long double, (long double x));
   2722 # endif
   2723 # if __GLIBC__ >= 2
   2724 _GL_CXXALIASWARN (sqrtl);
   2725 # endif
   2726 #elif defined GNULIB_POSIXCHECK
   2727 # undef sqrtl
   2728 # if HAVE_RAW_DECL_SQRTL
   2729 _GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - "
   2730                  "use gnulib module sqrtl for portability");
   2731 # endif
   2732 #endif
   2733 
   2734 
   2735 #if 0
   2736 # if 0
   2737 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2738 #   undef tanf
   2739 #   define tanf rpl_tanf
   2740 #  endif
   2741 _GL_FUNCDECL_RPL (tanf, float, (float x));
   2742 _GL_CXXALIAS_RPL (tanf, float, (float x));
   2743 # else
   2744 #  if !1
   2745 #   undef tanf
   2746 _GL_FUNCDECL_SYS (tanf, float, (float x));
   2747 #  endif
   2748 _GL_CXXALIAS_SYS (tanf, float, (float x));
   2749 # endif
   2750 _GL_CXXALIASWARN (tanf);
   2751 #elif defined GNULIB_POSIXCHECK
   2752 # undef tanf
   2753 # if HAVE_RAW_DECL_TANF
   2754 _GL_WARN_ON_USE (tanf, "tanf is unportable - "
   2755                  "use gnulib module tanf for portability");
   2756 # endif
   2757 #endif
   2758 
   2759 #if 0
   2760 # if !1 || !1
   2761 #  undef tanl
   2762 _GL_FUNCDECL_SYS (tanl, long double, (long double x));
   2763 # endif
   2764 _GL_CXXALIAS_SYS (tanl, long double, (long double x));
   2765 # if __GLIBC__ >= 2
   2766 _GL_CXXALIASWARN (tanl);
   2767 # endif
   2768 #elif defined GNULIB_POSIXCHECK
   2769 # undef tanl
   2770 # if HAVE_RAW_DECL_TANL
   2771 _GL_WARN_ON_USE (tanl, "tanl is unportable - "
   2772                  "use gnulib module tanl for portability");
   2773 # endif
   2774 #endif
   2775 
   2776 
   2777 #if 0
   2778 # if 0
   2779 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2780 #   undef tanhf
   2781 #   define tanhf rpl_tanhf
   2782 #  endif
   2783 _GL_FUNCDECL_RPL (tanhf, float, (float x));
   2784 _GL_CXXALIAS_RPL (tanhf, float, (float x));
   2785 # else
   2786 #  if !1
   2787 #   undef tanhf
   2788 _GL_FUNCDECL_SYS (tanhf, float, (float x));
   2789 #  endif
   2790 _GL_CXXALIAS_SYS (tanhf, float, (float x));
   2791 # endif
   2792 _GL_CXXALIASWARN (tanhf);
   2793 #elif defined GNULIB_POSIXCHECK
   2794 # undef tanhf
   2795 # if HAVE_RAW_DECL_TANHF
   2796 _GL_WARN_ON_USE (tanhf, "tanhf is unportable - "
   2797                  "use gnulib module tanhf for portability");
   2798 # endif
   2799 #endif
   2800 
   2801 
   2802 #if 0
   2803 # if 0
   2804 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2805 #   undef truncf
   2806 #   define truncf rpl_truncf
   2807 #  endif
   2808 _GL_FUNCDECL_RPL (truncf, float, (float x));
   2809 _GL_CXXALIAS_RPL (truncf, float, (float x));
   2810 # else
   2811 #  if !1
   2812 _GL_FUNCDECL_SYS (truncf, float, (float x));
   2813 #  endif
   2814 _GL_CXXALIAS_SYS (truncf, float, (float x));
   2815 # endif
   2816 _GL_CXXALIASWARN (truncf);
   2817 #elif defined GNULIB_POSIXCHECK
   2818 # undef truncf
   2819 # if HAVE_RAW_DECL_TRUNCF
   2820 _GL_WARN_ON_USE (truncf, "truncf is unportable - "
   2821                  "use gnulib module truncf for portability");
   2822 # endif
   2823 #endif
   2824 
   2825 #if 0
   2826 # if 0
   2827 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2828 #   undef trunc
   2829 #   define trunc rpl_trunc
   2830 #  endif
   2831 _GL_FUNCDECL_RPL (trunc, double, (double x));
   2832 _GL_CXXALIAS_RPL (trunc, double, (double x));
   2833 # else
   2834 #  if !1
   2835 _GL_FUNCDECL_SYS (trunc, double, (double x));
   2836 #  endif
   2837 _GL_CXXALIAS_SYS (trunc, double, (double x));
   2838 # endif
   2839 # if __GLIBC__ >= 2
   2840 _GL_CXXALIASWARN1 (trunc, double, (double x));
   2841 # endif
   2842 #elif defined GNULIB_POSIXCHECK
   2843 # undef trunc
   2844 # if HAVE_RAW_DECL_TRUNC
   2845 _GL_WARN_ON_USE (trunc, "trunc is unportable - "
   2846                  "use gnulib module trunc for portability");
   2847 # endif
   2848 #endif
   2849 
   2850 #if 0
   2851 # if 0
   2852 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2853 #   undef truncl
   2854 #   define truncl rpl_truncl
   2855 #  endif
   2856 _GL_FUNCDECL_RPL (truncl, long double, (long double x));
   2857 _GL_CXXALIAS_RPL (truncl, long double, (long double x));
   2858 # else
   2859 #  if !1
   2860 _GL_FUNCDECL_SYS (truncl, long double, (long double x));
   2861 #  endif
   2862 _GL_CXXALIAS_SYS (truncl, long double, (long double x));
   2863 # endif
   2864 _GL_CXXALIASWARN (truncl);
   2865 #elif defined GNULIB_POSIXCHECK
   2866 # undef truncl
   2867 # if HAVE_RAW_DECL_TRUNCL
   2868 _GL_WARN_ON_USE (truncl, "truncl is unportable - "
   2869                  "use gnulib module truncl for portability");
   2870 # endif
   2871 #endif
   2872 
   2873 
   2874 #if 1
   2875 /* On native Windows, map 'y0' to '_y0', so that -loldnames is not
   2876    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
   2877    platforms by defining GNULIB_NAMESPACE::y0 always.  */
   2878 # if defined _WIN32 && !defined __CYGWIN__
   2879 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2880 #   undef y0
   2881 #   define y0 _y0
   2882 #  endif
   2883 _GL_CXXALIAS_MDA (y0, double, (double x));
   2884 # else
   2885 _GL_CXXALIAS_SYS (y0, double, (double x));
   2886 # endif
   2887 _GL_CXXALIASWARN (y0);
   2888 #endif
   2889 
   2890 #if 1
   2891 /* On native Windows, map 'y1' to '_y1', so that -loldnames is not
   2892    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
   2893    platforms by defining GNULIB_NAMESPACE::y1 always.  */
   2894 # if defined _WIN32 && !defined __CYGWIN__
   2895 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2896 #   undef y1
   2897 #   define y1 _y1
   2898 #  endif
   2899 _GL_CXXALIAS_MDA (y1, double, (double x));
   2900 # else
   2901 _GL_CXXALIAS_SYS (y1, double, (double x));
   2902 # endif
   2903 _GL_CXXALIASWARN (y1);
   2904 #endif
   2905 
   2906 #if 1
   2907 /* On native Windows, map 'yn' to '_yn', so that -loldnames is not
   2908    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
   2909    platforms by defining GNULIB_NAMESPACE::yn always.  */
   2910 # if defined _WIN32 && !defined __CYGWIN__
   2911 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   2912 #   undef yn
   2913 #   define yn _yn
   2914 #  endif
   2915 _GL_CXXALIAS_MDA (yn, double, (int n, double x));
   2916 # else
   2917 _GL_CXXALIAS_SYS (yn, double, (int n, double x));
   2918 # endif
   2919 _GL_CXXALIASWARN (yn);
   2920 #endif
   2921 
   2922 
   2923 /* Definitions of function-like macros come here, after the function
   2924    declarations.  */
   2925 
   2926 
   2927 #if 0
   2928 # if 0
   2929 _GL_EXTERN_C int gl_isfinitef (float x);
   2930 _GL_EXTERN_C int gl_isfinited (double x);
   2931 _GL_EXTERN_C int gl_isfinitel (long double x);
   2932 #  undef isfinite
   2933 #  define isfinite(x) \
   2934    (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \
   2935     sizeof (x) == sizeof (double) ? gl_isfinited (x) : \
   2936     gl_isfinitef (x))
   2937 # endif
   2938 # ifdef __cplusplus
   2939 #  if defined isfinite || defined GNULIB_NAMESPACE
   2940 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite)
   2941 #   undef isfinite
   2942 #   if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined _AIX || (defined _WIN32 && !defined __CYGWIN__)))
   2943   /* This platform's <cmath> possibly defines isfinite through a set of inline
   2944      functions.  */
   2945 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, rpl_isfinite, bool)
   2946 #    define isfinite rpl_isfinite
   2947 #    define GNULIB_NAMESPACE_LACKS_ISFINITE 1
   2948 #   else
   2949 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, isfinite, bool)
   2950 #   endif
   2951 #  endif
   2952 # endif
   2953 #elif defined GNULIB_POSIXCHECK
   2954 # if defined isfinite
   2955 _GL_WARN_REAL_FLOATING_DECL (isfinite);
   2956 #  undef isfinite
   2957 #  define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x)
   2958 # endif
   2959 #endif
   2960 
   2961 
   2962 #if 0
   2963 # if 0
   2964 _GL_EXTERN_C int gl_isinff (float x);
   2965 _GL_EXTERN_C int gl_isinfd (double x);
   2966 _GL_EXTERN_C int gl_isinfl (long double x);
   2967 #  undef isinf
   2968 #  define isinf(x) \
   2969    (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \
   2970     sizeof (x) == sizeof (double) ? gl_isinfd (x) : \
   2971     gl_isinff (x))
   2972 # endif
   2973 # ifdef __cplusplus
   2974 #  if defined isinf || defined GNULIB_NAMESPACE
   2975 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf)
   2976 #   undef isinf
   2977 #   if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__)))
   2978   /* This platform's <cmath> possibly defines isinf through a set of inline
   2979      functions.  */
   2980 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, rpl_isinf, bool)
   2981 #    define isinf rpl_isinf
   2982 #    define GNULIB_NAMESPACE_LACKS_ISINF 1
   2983 #   else
   2984 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, isinf, bool)
   2985 #   endif
   2986 #  endif
   2987 # endif
   2988 #elif defined GNULIB_POSIXCHECK
   2989 # if defined isinf
   2990 _GL_WARN_REAL_FLOATING_DECL (isinf);
   2991 #  undef isinf
   2992 #  define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x)
   2993 # endif
   2994 #endif
   2995 
   2996 
   2997 #if 0
   2998 /* Test for NaN for 'float' numbers.  */
   2999 # if 1
   3000 /* The original <math.h> included above provides a declaration of isnan macro
   3001    or (older) isnanf function.  */
   3002 #  if (__GNUC__ >= 4) || (__clang_major__ >= 4)
   3003     /* GCC >= 4.0 and clang provide a type-generic built-in for isnan.
   3004        GCC >= 4.0 also provides __builtin_isnanf, but clang doesn't.  */
   3005 #   undef isnanf
   3006 #   define isnanf(x) __builtin_isnan ((float)(x))
   3007 #  elif defined isnan
   3008 #   undef isnanf
   3009 #   define isnanf(x) isnan ((float)(x))
   3010 #  endif
   3011 # else
   3012 /* Test whether X is a NaN.  */
   3013 #  undef isnanf
   3014 #  define isnanf rpl_isnanf
   3015 _GL_EXTERN_C int isnanf (float x);
   3016 # endif
   3017 #endif
   3018 
   3019 #if 0
   3020 /* Test for NaN for 'double' numbers.
   3021    This function is a gnulib extension, unlike isnan() which applied only
   3022    to 'double' numbers earlier but now is a type-generic macro.  */
   3023 # if 1
   3024 /* The original <math.h> included above provides a declaration of isnan
   3025    macro.  */
   3026 #  if (__GNUC__ >= 4) || (__clang_major__ >= 4)
   3027     /* GCC >= 4.0 and clang provide a type-generic built-in for isnan.  */
   3028 #   undef isnand
   3029 #   define isnand(x) __builtin_isnan ((double)(x))
   3030 #  else
   3031 #   undef isnand
   3032 #   define isnand(x) isnan ((double)(x))
   3033 #  endif
   3034 # else
   3035 /* Test whether X is a NaN.  */
   3036 #  undef isnand
   3037 #  define isnand rpl_isnand
   3038 _GL_EXTERN_C int isnand (double x);
   3039 # endif
   3040 #endif
   3041 
   3042 #if 0
   3043 /* Test for NaN for 'long double' numbers.  */
   3044 # if 1
   3045 /* The original <math.h> included above provides a declaration of isnan
   3046    macro or (older) isnanl function.  */
   3047 #  if (__GNUC__ >= 4) || (__clang_major__ >= 4)
   3048     /* GCC >= 4.0 and clang provide a type-generic built-in for isnan.
   3049        GCC >= 4.0 also provides __builtin_isnanl, but clang doesn't.  */
   3050 #   undef isnanl
   3051 #   define isnanl(x) __builtin_isnan ((long double)(x))
   3052 #  elif defined isnan
   3053 #   undef isnanl
   3054 #   define isnanl(x) isnan ((long double)(x))
   3055 #  endif
   3056 # else
   3057 /* Test whether X is a NaN.  */
   3058 #  undef isnanl
   3059 #  define isnanl rpl_isnanl
   3060 _GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST;
   3061 # endif
   3062 #endif
   3063 
   3064 /* This must come *after* the snippets for GNULIB_ISNANF and GNULIB_ISNANL!  */
   3065 #if 0
   3066 # if 0
   3067 /* We can't just use the isnanf macro (e.g.) as exposed by
   3068    isnanf.h (e.g.) here, because those may end up being macros
   3069    that recursively expand back to isnan.  So use the gnulib
   3070    replacements for them directly. */
   3071 #  if 1 && (__GNUC__ >= 4) || (__clang_major__ >= 4)
   3072 #   define gl_isnan_f(x) __builtin_isnan ((float)(x))
   3073 #  else
   3074 _GL_EXTERN_C int rpl_isnanf (float x);
   3075 #   define gl_isnan_f(x) rpl_isnanf (x)
   3076 #  endif
   3077 #  if 1 && (__GNUC__ >= 4) || (__clang_major__ >= 4)
   3078 #   define gl_isnan_d(x) __builtin_isnan ((double)(x))
   3079 #  else
   3080 _GL_EXTERN_C int rpl_isnand (double x);
   3081 #   define gl_isnan_d(x) rpl_isnand (x)
   3082 #  endif
   3083 #  if 1 && (__GNUC__ >= 4) || (__clang_major__ >= 4)
   3084 #   define gl_isnan_l(x) __builtin_isnan ((long double)(x))
   3085 #  else
   3086 _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
   3087 #   define gl_isnan_l(x) rpl_isnanl (x)
   3088 #  endif
   3089 #  undef isnan
   3090 #  define isnan(x) \
   3091    (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \
   3092     sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \
   3093     gl_isnan_f (x))
   3094 # elif (__GNUC__ >= 4) || (__clang_major__ >= 4)
   3095 #  undef isnan
   3096 #  define isnan(x) \
   3097    (sizeof (x) == sizeof (long double) ? __builtin_isnan ((long double)(x)) : \
   3098     sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \
   3099     __builtin_isnan ((float)(x)))
   3100 # endif
   3101 # ifdef __cplusplus
   3102 #  if defined isnan || defined GNULIB_NAMESPACE
   3103 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan)
   3104 #   undef isnan
   3105 #   if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__ && __clang_major__ < 12) || (defined __FreeBSD__ && __clang_major__ < 7) || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__)))
   3106   /* This platform's <cmath> possibly defines isnan through a set of inline
   3107      functions.  */
   3108 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, rpl_isnan, bool)
   3109 #    define isnan rpl_isnan
   3110 #    define GNULIB_NAMESPACE_LACKS_ISNAN 1
   3111 #   else
   3112 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, isnan, bool)
   3113 #   endif
   3114 #  endif
   3115 # else
   3116 /* Ensure isnan is a macro.  */
   3117 #  ifndef isnan
   3118 #   define isnan isnan
   3119 #  endif
   3120 # endif
   3121 #elif defined GNULIB_POSIXCHECK
   3122 # if defined isnan
   3123 _GL_WARN_REAL_FLOATING_DECL (isnan);
   3124 #  undef isnan
   3125 #  define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x)
   3126 # endif
   3127 #endif
   3128 
   3129 
   3130 #if 0
   3131 # if (0 \
   3132       && (!defined __cplusplus || __cplusplus < 201103))
   3133 #  undef signbit
   3134    /* GCC >= 4.0 and clang provide three built-ins for signbit.  */
   3135 #  define signbit(x) \
   3136    (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \
   3137     sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \
   3138     __builtin_signbitf (x))
   3139 # endif
   3140 # if 0 && !GNULIB_defined_signbit
   3141 #  undef signbit
   3142 _GL_EXTERN_C int gl_signbitf (float arg);
   3143 _GL_EXTERN_C int gl_signbitd (double arg);
   3144 _GL_EXTERN_C int gl_signbitl (long double arg);
   3145 #  if (__GNUC__ >= 2 || defined __clang__) && !defined __STRICT_ANSI__
   3146 #   define _GL_NUM_UINT_WORDS(type) \
   3147       ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
   3148 #   if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf
   3149 #    define gl_signbitf_OPTIMIZED_MACRO
   3150 #    define gl_signbitf(arg) \
   3151        ({ union { float _value;                                         \
   3152                   unsigned int _word[_GL_NUM_UINT_WORDS (float)];       \
   3153                 } _m;                                                   \
   3154           _m._value = (arg);                                            \
   3155           (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1;          \
   3156         })
   3157 #   endif
   3158 #   if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd
   3159 #    define gl_signbitd_OPTIMIZED_MACRO
   3160 #    define gl_signbitd(arg) \
   3161        ({ union { double _value;                                        \
   3162                   unsigned int _word[_GL_NUM_UINT_WORDS (double)];      \
   3163                 } _m;                                                   \
   3164           _m._value = (arg);                                            \
   3165           (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1;          \
   3166         })
   3167 #   endif
   3168 #   if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl
   3169 #    define gl_signbitl_OPTIMIZED_MACRO
   3170 #    define gl_signbitl(arg) \
   3171        ({ union { long double _value;                                   \
   3172                   unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \
   3173                 } _m;                                                   \
   3174           _m._value = (arg);                                            \
   3175           (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1;        \
   3176         })
   3177 #   endif
   3178 #  endif
   3179 #  define signbit(x) \
   3180    (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \
   3181     sizeof (x) == sizeof (double) ? gl_signbitd (x) : \
   3182     gl_signbitf (x))
   3183 #  define GNULIB_defined_signbit 1
   3184 # endif
   3185 # ifdef __cplusplus
   3186 #  if defined signbit || defined GNULIB_NAMESPACE
   3187 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit)
   3188 #   undef signbit
   3189 #   if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined _AIX || (defined _WIN32 && !defined __CYGWIN__)))
   3190   /* This platform's <cmath> possibly defines signbit through a set of inline
   3191      functions.  */
   3192 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, rpl_signbit, bool)
   3193 #    define signbit rpl_signbit
   3194 #    define GNULIB_NAMESPACE_LACKS_SIGNBIT 1
   3195 #   else
   3196 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, signbit, bool)
   3197 #   endif
   3198 #  endif
   3199 # endif
   3200 #elif defined GNULIB_POSIXCHECK
   3201 # if defined signbit
   3202 _GL_WARN_REAL_FLOATING_DECL (signbit);
   3203 #  undef signbit
   3204 #  define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x)
   3205 # endif
   3206 #endif
   3207 
   3208 _GL_INLINE_HEADER_END
   3209 
   3210 #endif /* _GL_MATH_H */
   3211 #endif /* _GL_INCLUDING_MATH_H */
   3212 #endif /* _GL_MATH_H */
   3213