Home | History | Annotate | Download | only in linux-lib
      1 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
      2 /* A GNU-like <stdlib.h>.
      3 
      4    Copyright (C) 1995, 2001-2004, 2006-2012 Free Software Foundation, Inc.
      5 
      6    This program is free software: you can redistribute it and/or modify
      7    it under the terms of the GNU General Public License as published by
      8    the Free Software Foundation; either version 3 of the License, or
      9    (at your option) any later version.
     10 
     11    This program is distributed in the hope that it will be useful,
     12    but WITHOUT ANY WARRANTY; without even the implied warranty of
     13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14    GNU General Public License for more details.
     15 
     16    You should have received a copy of the GNU General Public License
     17    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     18 
     19 #if __GNUC__ >= 3
     20 #pragma GCC system_header
     21 #endif
     22 
     23 
     24 #if defined __need_malloc_and_calloc
     25 /* Special invocation convention inside glibc header files.  */
     26 
     27 #include_next <stdlib.h>
     28 
     29 #else
     30 /* Normal invocation convention.  */
     31 
     32 #ifndef _GL_STDLIB_H
     33 
     34 /* The include_next requires a split double-inclusion guard.  */
     35 #include_next <stdlib.h>
     36 
     37 #ifndef _GL_STDLIB_H
     38 #define _GL_STDLIB_H
     39 
     40 /* NetBSD 5.0 mis-defines NULL.  */
     41 #include <stddef.h>
     42 
     43 /* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>.  */
     44 #if 0 && !defined WEXITSTATUS
     45 # include <sys/wait.h>
     46 #endif
     47 
     48 /* Solaris declares getloadavg() in <sys/loadavg.h>.  */
     49 #if (0 || defined GNULIB_POSIXCHECK) && 0
     50 # include <sys/loadavg.h>
     51 #endif
     52 
     53 /* Native Windows platforms declare mktemp() in <io.h>.  */
     54 #if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
     55 # include <io.h>
     56 #endif
     57 
     58 #if 0
     59 
     60 /* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
     61    from <stdlib.h> if _REENTRANT is defined.  Include it whenever we need
     62    'struct random_data'.  */
     63 # if 1
     64 #  include <random.h>
     65 # endif
     66 
     67 # if !1 || 0 || !1
     68 #  include <stdint.h>
     69 # endif
     70 
     71 # if !1
     72 /* Define 'struct random_data'.
     73    But allow multiple gnulib generated <stdlib.h> replacements to coexist.  */
     74 #  if !GNULIB_defined_struct_random_data
     75 struct random_data
     76 {
     77   int32_t *fptr;                /* Front pointer.  */
     78   int32_t *rptr;                /* Rear pointer.  */
     79   int32_t *state;               /* Array of state values.  */
     80   int rand_type;                /* Type of random number generator.  */
     81   int rand_deg;                 /* Degree of random number generator.  */
     82   int rand_sep;                 /* Distance between front and rear.  */
     83   int32_t *end_ptr;             /* Pointer behind state table.  */
     84 };
     85 #   define GNULIB_defined_struct_random_data 1
     86 #  endif
     87 # endif
     88 #endif
     89 
     90 #if (0 || 0 || 0 || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
     91 /* On Mac OS X 10.3, only <unistd.h> declares mkstemp.  */
     92 /* On Mac OS X 10.5, only <unistd.h> declares mkstemps.  */
     93 /* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
     94 /* But avoid namespace pollution on glibc systems and native Windows.  */
     95 # include <unistd.h>
     96 #endif
     97 
     98 /* The __attribute__ feature is available in gcc versions 2.5 and later.
     99    The attribute __pure__ was added in gcc 2.96.  */
    100 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
    101 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
    102 #else
    103 # define _GL_ATTRIBUTE_PURE /* empty */
    104 #endif
    105 
    106 /* The definition of _Noreturn is copied here.  */
    107 #if !defined _Noreturn && __STDC_VERSION__ < 201112
    108 # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
    109       || 0x5110 <= __SUNPRO_C)
    110 #  define _Noreturn __attribute__ ((__noreturn__))
    111 # elif 1200 <= _MSC_VER
    112 #  define _Noreturn __declspec (noreturn)
    113 # else
    114 #  define _Noreturn
    115 # endif
    116 #endif
    117 
    118 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
    119 #ifndef _GL_CXXDEFS_H
    120 #define _GL_CXXDEFS_H
    121 
    122 /* The three most frequent use cases of these macros are:
    123 
    124    * For providing a substitute for a function that is missing on some
    125      platforms, but is declared and works fine on the platforms on which
    126      it exists:
    127 
    128        #if @GNULIB_FOO@
    129        # if !@HAVE_FOO@
    130        _GL_FUNCDECL_SYS (foo, ...);
    131        # endif
    132        _GL_CXXALIAS_SYS (foo, ...);
    133        _GL_CXXALIASWARN (foo);
    134        #elif defined GNULIB_POSIXCHECK
    135        ...
    136        #endif
    137 
    138    * For providing a replacement for a function that exists on all platforms,
    139      but is broken/insufficient and needs to be replaced on some platforms:
    140 
    141        #if @GNULIB_FOO@
    142        # if @REPLACE_FOO@
    143        #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    144        #   undef foo
    145        #   define foo rpl_foo
    146        #  endif
    147        _GL_FUNCDECL_RPL (foo, ...);
    148        _GL_CXXALIAS_RPL (foo, ...);
    149        # else
    150        _GL_CXXALIAS_SYS (foo, ...);
    151        # endif
    152        _GL_CXXALIASWARN (foo);
    153        #elif defined GNULIB_POSIXCHECK
    154        ...
    155        #endif
    156 
    157    * For providing a replacement for a function that exists on some platforms
    158      but is broken/insufficient and needs to be replaced on some of them and
    159      is additionally either missing or undeclared on some other platforms:
    160 
    161        #if @GNULIB_FOO@
    162        # if @REPLACE_FOO@
    163        #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    164        #   undef foo
    165        #   define foo rpl_foo
    166        #  endif
    167        _GL_FUNCDECL_RPL (foo, ...);
    168        _GL_CXXALIAS_RPL (foo, ...);
    169        # else
    170        #  if !@HAVE_FOO@   or   if !@HAVE_DECL_FOO@
    171        _GL_FUNCDECL_SYS (foo, ...);
    172        #  endif
    173        _GL_CXXALIAS_SYS (foo, ...);
    174        # endif
    175        _GL_CXXALIASWARN (foo);
    176        #elif defined GNULIB_POSIXCHECK
    177        ...
    178        #endif
    179 */
    180 
    181 /* _GL_EXTERN_C declaration;
    182    performs the declaration with C linkage.  */
    183 #if defined __cplusplus
    184 # define _GL_EXTERN_C extern "C"
    185 #else
    186 # define _GL_EXTERN_C extern
    187 #endif
    188 
    189 /* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
    190    declares a replacement function, named rpl_func, with the given prototype,
    191    consisting of return type, parameters, and attributes.
    192    Example:
    193      _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
    194                                   _GL_ARG_NONNULL ((1)));
    195  */
    196 #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
    197   _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
    198 #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
    199   _GL_EXTERN_C rettype rpl_func parameters_and_attributes
    200 
    201 /* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
    202    declares the system function, named func, with the given prototype,
    203    consisting of return type, parameters, and attributes.
    204    Example:
    205      _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
    206                                   _GL_ARG_NONNULL ((1)));
    207  */
    208 #define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
    209   _GL_EXTERN_C rettype func parameters_and_attributes
    210 
    211 /* _GL_CXXALIAS_RPL (func, rettype, parameters);
    212    declares a C++ alias called GNULIB_NAMESPACE::func
    213    that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
    214    Example:
    215      _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
    216  */
    217 #define _GL_CXXALIAS_RPL(func,rettype,parameters) \
    218   _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
    219 #if defined __cplusplus && defined GNULIB_NAMESPACE
    220 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
    221     namespace GNULIB_NAMESPACE                                \
    222     {                                                         \
    223       rettype (*const func) parameters = ::rpl_func;          \
    224     }                                                         \
    225     _GL_EXTERN_C int _gl_cxxalias_dummy
    226 #else
    227 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
    228     _GL_EXTERN_C int _gl_cxxalias_dummy
    229 #endif
    230 
    231 /* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
    232    is like  _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
    233    except that the C function rpl_func may have a slightly different
    234    declaration.  A cast is used to silence the "invalid conversion" error
    235    that would otherwise occur.  */
    236 #if defined __cplusplus && defined GNULIB_NAMESPACE
    237 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
    238     namespace GNULIB_NAMESPACE                                     \
    239     {                                                              \
    240       rettype (*const func) parameters =                           \
    241         reinterpret_cast<rettype(*)parameters>(::rpl_func);        \
    242     }                                                              \
    243     _GL_EXTERN_C int _gl_cxxalias_dummy
    244 #else
    245 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
    246     _GL_EXTERN_C int _gl_cxxalias_dummy
    247 #endif
    248 
    249 /* _GL_CXXALIAS_SYS (func, rettype, parameters);
    250    declares a C++ alias called GNULIB_NAMESPACE::func
    251    that redirects to the system provided function func, if GNULIB_NAMESPACE
    252    is defined.
    253    Example:
    254      _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
    255  */
    256 #if defined __cplusplus && defined GNULIB_NAMESPACE
    257   /* If we were to write
    258        rettype (*const func) parameters = ::func;
    259      like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
    260      better (remove an indirection through a 'static' pointer variable),
    261      but then the _GL_CXXALIASWARN macro below would cause a warning not only
    262      for uses of ::func but also for uses of GNULIB_NAMESPACE::func.  */
    263 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
    264     namespace GNULIB_NAMESPACE                     \
    265     {                                              \
    266       static rettype (*func) parameters = ::func;  \
    267     }                                              \
    268     _GL_EXTERN_C int _gl_cxxalias_dummy
    269 #else
    270 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
    271     _GL_EXTERN_C int _gl_cxxalias_dummy
    272 #endif
    273 
    274 /* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
    275    is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
    276    except that the C function func may have a slightly different declaration.
    277    A cast is used to silence the "invalid conversion" error that would
    278    otherwise occur.  */
    279 #if defined __cplusplus && defined GNULIB_NAMESPACE
    280 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
    281     namespace GNULIB_NAMESPACE                          \
    282     {                                                   \
    283       static rettype (*func) parameters =               \
    284         reinterpret_cast<rettype(*)parameters>(::func); \
    285     }                                                   \
    286     _GL_EXTERN_C int _gl_cxxalias_dummy
    287 #else
    288 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
    289     _GL_EXTERN_C int _gl_cxxalias_dummy
    290 #endif
    291 
    292 /* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
    293    is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
    294    except that the C function is picked among a set of overloaded functions,
    295    namely the one with rettype2 and parameters2.  Two consecutive casts
    296    are used to silence the "cannot find a match" and "invalid conversion"
    297    errors that would otherwise occur.  */
    298 #if defined __cplusplus && defined GNULIB_NAMESPACE
    299   /* The outer cast must be a reinterpret_cast.
    300      The inner cast: When the function is defined as a set of overloaded
    301      functions, it works as a static_cast<>, choosing the designated variant.
    302      When the function is defined as a single variant, it works as a
    303      reinterpret_cast<>. The parenthesized cast syntax works both ways.  */
    304 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
    305     namespace GNULIB_NAMESPACE                                                \
    306     {                                                                         \
    307       static rettype (*func) parameters =                                     \
    308         reinterpret_cast<rettype(*)parameters>(                               \
    309           (rettype2(*)parameters2)(::func));                                  \
    310     }                                                                         \
    311     _GL_EXTERN_C int _gl_cxxalias_dummy
    312 #else
    313 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
    314     _GL_EXTERN_C int _gl_cxxalias_dummy
    315 #endif
    316 
    317 /* _GL_CXXALIASWARN (func);
    318    causes a warning to be emitted when ::func is used but not when
    319    GNULIB_NAMESPACE::func is used.  func must be defined without overloaded
    320    variants.  */
    321 #if defined __cplusplus && defined GNULIB_NAMESPACE
    322 # define _GL_CXXALIASWARN(func) \
    323    _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
    324 # define _GL_CXXALIASWARN_1(func,namespace) \
    325    _GL_CXXALIASWARN_2 (func, namespace)
    326 /* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
    327    we enable the warning only when not optimizing.  */
    328 # if !__OPTIMIZE__
    329 #  define _GL_CXXALIASWARN_2(func,namespace) \
    330     _GL_WARN_ON_USE (func, \
    331                      "The symbol ::" #func " refers to the system function. " \
    332                      "Use " #namespace "::" #func " instead.")
    333 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    334 #  define _GL_CXXALIASWARN_2(func,namespace) \
    335      extern __typeof__ (func) func
    336 # else
    337 #  define _GL_CXXALIASWARN_2(func,namespace) \
    338      _GL_EXTERN_C int _gl_cxxalias_dummy
    339 # endif
    340 #else
    341 # define _GL_CXXALIASWARN(func) \
    342     _GL_EXTERN_C int _gl_cxxalias_dummy
    343 #endif
    344 
    345 /* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
    346    causes a warning to be emitted when the given overloaded variant of ::func
    347    is used but not when GNULIB_NAMESPACE::func is used.  */
    348 #if defined __cplusplus && defined GNULIB_NAMESPACE
    349 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
    350    _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
    351                         GNULIB_NAMESPACE)
    352 # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
    353    _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
    354 /* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
    355    we enable the warning only when not optimizing.  */
    356 # if !__OPTIMIZE__
    357 #  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
    358     _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
    359                          "The symbol ::" #func " refers to the system function. " \
    360                          "Use " #namespace "::" #func " instead.")
    361 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    362 #  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
    363      extern __typeof__ (func) func
    364 # else
    365 #  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
    366      _GL_EXTERN_C int _gl_cxxalias_dummy
    367 # endif
    368 #else
    369 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
    370     _GL_EXTERN_C int _gl_cxxalias_dummy
    371 #endif
    372 
    373 #endif /* _GL_CXXDEFS_H */
    374 
    375 /* The definition of _GL_ARG_NONNULL is copied here.  */
    376 /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
    377    that the values passed as arguments n, ..., m must be non-NULL pointers.
    378    n = 1 stands for the first argument, n = 2 for the second argument etc.  */
    379 #ifndef _GL_ARG_NONNULL
    380 # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
    381 #  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
    382 # else
    383 #  define _GL_ARG_NONNULL(params)
    384 # endif
    385 #endif
    386 
    387 /* The definition of _GL_WARN_ON_USE is copied here.  */
    388 #ifndef _GL_WARN_ON_USE
    389 
    390 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
    391 /* A compiler attribute is available in gcc versions 4.3.0 and later.  */
    392 #  define _GL_WARN_ON_USE(function, message) \
    393 extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
    394 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    395 /* Verify the existence of the function.  */
    396 #  define _GL_WARN_ON_USE(function, message) \
    397 extern __typeof__ (function) function
    398 # else /* Unsupported.  */
    399 #  define _GL_WARN_ON_USE(function, message) \
    400 _GL_WARN_EXTERN_C int _gl_warn_on_use
    401 # endif
    402 #endif
    403 
    404 /* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
    405    is like _GL_WARN_ON_USE (function, "string"), except that the function is
    406    declared with the given prototype, consisting of return type, parameters,
    407    and attributes.
    408    This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
    409    not work in this case.  */
    410 #ifndef _GL_WARN_ON_USE_CXX
    411 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
    412 #  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
    413 extern rettype function parameters_and_attributes \
    414      __attribute__ ((__warning__ (msg)))
    415 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
    416 /* Verify the existence of the function.  */
    417 #  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
    418 extern rettype function parameters_and_attributes
    419 # else /* Unsupported.  */
    420 #  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
    421 _GL_WARN_EXTERN_C int _gl_warn_on_use
    422 # endif
    423 #endif
    424 
    425 /* _GL_WARN_EXTERN_C declaration;
    426    performs the declaration with C linkage.  */
    427 #ifndef _GL_WARN_EXTERN_C
    428 # if defined __cplusplus
    429 #  define _GL_WARN_EXTERN_C extern "C"
    430 # else
    431 #  define _GL_WARN_EXTERN_C extern
    432 # endif
    433 #endif
    434 
    435 
    436 /* Some systems do not define EXIT_*, despite otherwise supporting C89.  */
    437 #ifndef EXIT_SUCCESS
    438 # define EXIT_SUCCESS 0
    439 #endif
    440 /* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
    441    with proper operation of xargs.  */
    442 #ifndef EXIT_FAILURE
    443 # define EXIT_FAILURE 1
    444 #elif EXIT_FAILURE != 1
    445 # undef EXIT_FAILURE
    446 # define EXIT_FAILURE 1
    447 #endif
    448 
    449 
    450 #if 0
    451 /* Terminate the current process with the given return code, without running
    452    the 'atexit' handlers.  */
    453 # if !1
    454 _GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
    455 # endif
    456 _GL_CXXALIAS_SYS (_Exit, void, (int status));
    457 _GL_CXXALIASWARN (_Exit);
    458 #elif defined GNULIB_POSIXCHECK
    459 # undef _Exit
    460 # if HAVE_RAW_DECL__EXIT
    461 _GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
    462                  "use gnulib module _Exit for portability");
    463 # endif
    464 #endif
    465 
    466 
    467 #if 0
    468 /* Parse a signed decimal integer.
    469    Returns the value of the integer.  Errors are not detected.  */
    470 # if !1
    471 _GL_FUNCDECL_SYS (atoll, long long, (const char *string)
    472                                     _GL_ATTRIBUTE_PURE
    473                                     _GL_ARG_NONNULL ((1)));
    474 # endif
    475 _GL_CXXALIAS_SYS (atoll, long long, (const char *string));
    476 _GL_CXXALIASWARN (atoll);
    477 #elif defined GNULIB_POSIXCHECK
    478 # undef atoll
    479 # if HAVE_RAW_DECL_ATOLL
    480 _GL_WARN_ON_USE (atoll, "atoll is unportable - "
    481                  "use gnulib module atoll for portability");
    482 # endif
    483 #endif
    484 
    485 #if 1
    486 # if 0
    487 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    488 #   undef calloc
    489 #   define calloc rpl_calloc
    490 #  endif
    491 _GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
    492 _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
    493 # else
    494 _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
    495 # endif
    496 _GL_CXXALIASWARN (calloc);
    497 #elif defined GNULIB_POSIXCHECK
    498 # undef calloc
    499 /* Assume calloc is always declared.  */
    500 _GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
    501                  "use gnulib module calloc-posix for portability");
    502 #endif
    503 
    504 #if 0
    505 # if 0
    506 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    507 #   define canonicalize_file_name rpl_canonicalize_file_name
    508 #  endif
    509 _GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name)
    510                                                   _GL_ARG_NONNULL ((1)));
    511 _GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
    512 # else
    513 #  if !1
    514 _GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name)
    515                                                   _GL_ARG_NONNULL ((1)));
    516 #  endif
    517 _GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
    518 # endif
    519 _GL_CXXALIASWARN (canonicalize_file_name);
    520 #elif defined GNULIB_POSIXCHECK
    521 # undef canonicalize_file_name
    522 # if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
    523 _GL_WARN_ON_USE (canonicalize_file_name,
    524                  "canonicalize_file_name is unportable - "
    525                  "use gnulib module canonicalize-lgpl for portability");
    526 # endif
    527 #endif
    528 
    529 #if 0
    530 /* Store max(NELEM,3) load average numbers in LOADAVG[].
    531    The three numbers are the load average of the last 1 minute, the last 5
    532    minutes, and the last 15 minutes, respectively.
    533    LOADAVG is an array of NELEM numbers.  */
    534 # if !1
    535 _GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
    536                                    _GL_ARG_NONNULL ((1)));
    537 # endif
    538 _GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
    539 _GL_CXXALIASWARN (getloadavg);
    540 #elif defined GNULIB_POSIXCHECK
    541 # undef getloadavg
    542 # if HAVE_RAW_DECL_GETLOADAVG
    543 _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
    544                  "use gnulib module getloadavg for portability");
    545 # endif
    546 #endif
    547 
    548 #if 0
    549 /* Assuming *OPTIONP is a comma separated list of elements of the form
    550    "token" or "token=value", getsubopt parses the first of these elements.
    551    If the first element refers to a "token" that is member of the given
    552    NULL-terminated array of tokens:
    553      - It replaces the comma with a NUL byte, updates *OPTIONP to point past
    554        the first option and the comma, sets *VALUEP to the value of the
    555        element (or NULL if it doesn't contain an "=" sign),
    556      - It returns the index of the "token" in the given array of tokens.
    557    Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
    558    For more details see the POSIX:2001 specification.
    559    http://www.opengroup.org/susv3xsh/getsubopt.html */
    560 # if !1
    561 _GL_FUNCDECL_SYS (getsubopt, int,
    562                   (char **optionp, char *const *tokens, char **valuep)
    563                   _GL_ARG_NONNULL ((1, 2, 3)));
    564 # endif
    565 _GL_CXXALIAS_SYS (getsubopt, int,
    566                   (char **optionp, char *const *tokens, char **valuep));
    567 _GL_CXXALIASWARN (getsubopt);
    568 #elif defined GNULIB_POSIXCHECK
    569 # undef getsubopt
    570 # if HAVE_RAW_DECL_GETSUBOPT
    571 _GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
    572                  "use gnulib module getsubopt for portability");
    573 # endif
    574 #endif
    575 
    576 #if 0
    577 /* Change the ownership and access permission of the slave side of the
    578    pseudo-terminal whose master side is specified by FD.  */
    579 # if !1
    580 _GL_FUNCDECL_SYS (grantpt, int, (int fd));
    581 # endif
    582 _GL_CXXALIAS_SYS (grantpt, int, (int fd));
    583 _GL_CXXALIASWARN (grantpt);
    584 #elif defined GNULIB_POSIXCHECK
    585 # undef grantpt
    586 # if HAVE_RAW_DECL_GRANTPT
    587 _GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
    588                  "use gnulib module grantpt for portability");
    589 # endif
    590 #endif
    591 
    592 /* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
    593    rely on GNU or POSIX semantics for malloc and realloc (for example,
    594    by never specifying a zero size), so it does not need malloc or
    595    realloc to be redefined.  */
    596 #if 1
    597 # if 0
    598 #  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
    599         || _GL_USE_STDLIB_ALLOC)
    600 #   undef malloc
    601 #   define malloc rpl_malloc
    602 #  endif
    603 _GL_FUNCDECL_RPL (malloc, void *, (size_t size));
    604 _GL_CXXALIAS_RPL (malloc, void *, (size_t size));
    605 # else
    606 _GL_CXXALIAS_SYS (malloc, void *, (size_t size));
    607 # endif
    608 _GL_CXXALIASWARN (malloc);
    609 #elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
    610 # undef malloc
    611 /* Assume malloc is always declared.  */
    612 _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
    613                  "use gnulib module malloc-posix for portability");
    614 #endif
    615 
    616 /* Convert a multibyte character to a wide character.  */
    617 #if 0
    618 # if 0
    619 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    620 #   undef mbtowc
    621 #   define mbtowc rpl_mbtowc
    622 #  endif
    623 _GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
    624 _GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
    625 # else
    626 _GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
    627 # endif
    628 _GL_CXXALIASWARN (mbtowc);
    629 #endif
    630 
    631 #if 0
    632 /* Create a unique temporary directory from TEMPLATE.
    633    The last six characters of TEMPLATE must be "XXXXXX";
    634    they are replaced with a string that makes the directory name unique.
    635    Returns TEMPLATE, or a null pointer if it cannot get a unique name.
    636    The directory is created mode 700.  */
    637 # if !1
    638 _GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
    639 # endif
    640 _GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
    641 _GL_CXXALIASWARN (mkdtemp);
    642 #elif defined GNULIB_POSIXCHECK
    643 # undef mkdtemp
    644 # if HAVE_RAW_DECL_MKDTEMP
    645 _GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
    646                  "use gnulib module mkdtemp for portability");
    647 # endif
    648 #endif
    649 
    650 #if 0
    651 /* Create a unique temporary file from TEMPLATE.
    652    The last six characters of TEMPLATE must be "XXXXXX";
    653    they are replaced with a string that makes the file name unique.
    654    The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
    655    and O_TEXT, O_BINARY (defined in "binary-io.h").
    656    The file is then created, with the specified flags, ensuring it didn't exist
    657    before.
    658    The file is created read-write (mask at least 0600 & ~umask), but it may be
    659    world-readable and world-writable (mask 0666 & ~umask), depending on the
    660    implementation.
    661    Returns the open file descriptor if successful, otherwise -1 and errno
    662    set.  */
    663 # if !1
    664 _GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
    665                                  _GL_ARG_NONNULL ((1)));
    666 # endif
    667 _GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
    668 _GL_CXXALIASWARN (mkostemp);
    669 #elif defined GNULIB_POSIXCHECK
    670 # undef mkostemp
    671 # if HAVE_RAW_DECL_MKOSTEMP
    672 _GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
    673                  "use gnulib module mkostemp for portability");
    674 # endif
    675 #endif
    676 
    677 #if 0
    678 /* Create a unique temporary file from TEMPLATE.
    679    The last six characters of TEMPLATE before a suffix of length
    680    SUFFIXLEN must be "XXXXXX";
    681    they are replaced with a string that makes the file name unique.
    682    The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
    683    and O_TEXT, O_BINARY (defined in "binary-io.h").
    684    The file is then created, with the specified flags, ensuring it didn't exist
    685    before.
    686    The file is created read-write (mask at least 0600 & ~umask), but it may be
    687    world-readable and world-writable (mask 0666 & ~umask), depending on the
    688    implementation.
    689    Returns the open file descriptor if successful, otherwise -1 and errno
    690    set.  */
    691 # if !1
    692 _GL_FUNCDECL_SYS (mkostemps, int,
    693                   (char * /*template*/, int /*suffixlen*/, int /*flags*/)
    694                   _GL_ARG_NONNULL ((1)));
    695 # endif
    696 _GL_CXXALIAS_SYS (mkostemps, int,
    697                   (char * /*template*/, int /*suffixlen*/, int /*flags*/));
    698 _GL_CXXALIASWARN (mkostemps);
    699 #elif defined GNULIB_POSIXCHECK
    700 # undef mkostemps
    701 # if HAVE_RAW_DECL_MKOSTEMPS
    702 _GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
    703                  "use gnulib module mkostemps for portability");
    704 # endif
    705 #endif
    706 
    707 #if 0
    708 /* Create a unique temporary file from TEMPLATE.
    709    The last six characters of TEMPLATE must be "XXXXXX";
    710    they are replaced with a string that makes the file name unique.
    711    The file is then created, ensuring it didn't exist before.
    712    The file is created read-write (mask at least 0600 & ~umask), but it may be
    713    world-readable and world-writable (mask 0666 & ~umask), depending on the
    714    implementation.
    715    Returns the open file descriptor if successful, otherwise -1 and errno
    716    set.  */
    717 # if 0
    718 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    719 #   define mkstemp rpl_mkstemp
    720 #  endif
    721 _GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
    722 _GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
    723 # else
    724 #  if ! 1
    725 _GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
    726 #  endif
    727 _GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
    728 # endif
    729 _GL_CXXALIASWARN (mkstemp);
    730 #elif defined GNULIB_POSIXCHECK
    731 # undef mkstemp
    732 # if HAVE_RAW_DECL_MKSTEMP
    733 _GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
    734                  "use gnulib module mkstemp for portability");
    735 # endif
    736 #endif
    737 
    738 #if 0
    739 /* Create a unique temporary file from TEMPLATE.
    740    The last six characters of TEMPLATE prior to a suffix of length
    741    SUFFIXLEN must be "XXXXXX";
    742    they are replaced with a string that makes the file name unique.
    743    The file is then created, ensuring it didn't exist before.
    744    The file is created read-write (mask at least 0600 & ~umask), but it may be
    745    world-readable and world-writable (mask 0666 & ~umask), depending on the
    746    implementation.
    747    Returns the open file descriptor if successful, otherwise -1 and errno
    748    set.  */
    749 # if !1
    750 _GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
    751                                  _GL_ARG_NONNULL ((1)));
    752 # endif
    753 _GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
    754 _GL_CXXALIASWARN (mkstemps);
    755 #elif defined GNULIB_POSIXCHECK
    756 # undef mkstemps
    757 # if HAVE_RAW_DECL_MKSTEMPS
    758 _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
    759                  "use gnulib module mkstemps for portability");
    760 # endif
    761 #endif
    762 
    763 #if 0
    764 /* Return an FD open to the master side of a pseudo-terminal.  Flags should
    765    include O_RDWR, and may also include O_NOCTTY.  */
    766 # if !1
    767 _GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
    768 # endif
    769 _GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
    770 _GL_CXXALIASWARN (posix_openpt);
    771 #elif defined GNULIB_POSIXCHECK
    772 # undef posix_openpt
    773 # if HAVE_RAW_DECL_POSIX_OPENPT
    774 _GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
    775                  "use gnulib module posix_openpt for portability");
    776 # endif
    777 #endif
    778 
    779 #if 0
    780 /* Return the pathname of the pseudo-terminal slave associated with
    781    the master FD is open on, or NULL on errors.  */
    782 # if 0
    783 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    784 #   undef ptsname
    785 #   define ptsname rpl_ptsname
    786 #  endif
    787 _GL_FUNCDECL_RPL (ptsname, char *, (int fd));
    788 _GL_CXXALIAS_RPL (ptsname, char *, (int fd));
    789 # else
    790 #  if !1
    791 _GL_FUNCDECL_SYS (ptsname, char *, (int fd));
    792 #  endif
    793 _GL_CXXALIAS_SYS (ptsname, char *, (int fd));
    794 # endif
    795 _GL_CXXALIASWARN (ptsname);
    796 #elif defined GNULIB_POSIXCHECK
    797 # undef ptsname
    798 # if HAVE_RAW_DECL_PTSNAME
    799 _GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
    800                  "use gnulib module ptsname for portability");
    801 # endif
    802 #endif
    803 
    804 #if 0
    805 /* Set the pathname of the pseudo-terminal slave associated with
    806    the master FD is open on and return 0, or set errno and return
    807    non-zero on errors.  */
    808 # if 0
    809 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    810 #   undef ptsname_r
    811 #   define ptsname_r rpl_ptsname_r
    812 #  endif
    813 _GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
    814 _GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
    815 # else
    816 #  if !1
    817 _GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
    818 #  endif
    819 _GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
    820 # endif
    821 _GL_CXXALIASWARN (ptsname_r);
    822 #elif defined GNULIB_POSIXCHECK
    823 # undef ptsname_r
    824 # if HAVE_RAW_DECL_PTSNAME_R
    825 _GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
    826                  "use gnulib module ptsname_r for portability");
    827 # endif
    828 #endif
    829 
    830 #if 0
    831 # if 0
    832 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    833 #   undef putenv
    834 #   define putenv rpl_putenv
    835 #  endif
    836 _GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
    837 _GL_CXXALIAS_RPL (putenv, int, (char *string));
    838 # else
    839 _GL_CXXALIAS_SYS (putenv, int, (char *string));
    840 # endif
    841 _GL_CXXALIASWARN (putenv);
    842 #endif
    843 
    844 
    845 #if 0
    846 # if !1
    847 #  ifndef RAND_MAX
    848 #   define RAND_MAX 2147483647
    849 #  endif
    850 # endif
    851 #endif
    852 
    853 
    854 #if 0
    855 # if !1
    856 _GL_FUNCDECL_SYS (random, long, (void));
    857 # endif
    858 _GL_CXXALIAS_SYS (random, long, (void));
    859 _GL_CXXALIASWARN (random);
    860 #elif defined GNULIB_POSIXCHECK
    861 # undef random
    862 # if HAVE_RAW_DECL_RANDOM
    863 _GL_WARN_ON_USE (random, "random is unportable - "
    864                  "use gnulib module random for portability");
    865 # endif
    866 #endif
    867 
    868 #if 0
    869 # if !1
    870 _GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
    871 # endif
    872 _GL_CXXALIAS_SYS (srandom, void, (unsigned int seed));
    873 _GL_CXXALIASWARN (srandom);
    874 #elif defined GNULIB_POSIXCHECK
    875 # undef srandom
    876 # if HAVE_RAW_DECL_SRANDOM
    877 _GL_WARN_ON_USE (srandom, "srandom is unportable - "
    878                  "use gnulib module random for portability");
    879 # endif
    880 #endif
    881 
    882 #if 0
    883 # if !1
    884 _GL_FUNCDECL_SYS (initstate, char *,
    885                   (unsigned int seed, char *buf, size_t buf_size)
    886                   _GL_ARG_NONNULL ((2)));
    887 # endif
    888 _GL_CXXALIAS_SYS (initstate, char *,
    889                   (unsigned int seed, char *buf, size_t buf_size));
    890 _GL_CXXALIASWARN (initstate);
    891 #elif defined GNULIB_POSIXCHECK
    892 # undef initstate
    893 # if HAVE_RAW_DECL_INITSTATE_R
    894 _GL_WARN_ON_USE (initstate, "initstate is unportable - "
    895                  "use gnulib module random for portability");
    896 # endif
    897 #endif
    898 
    899 #if 0
    900 # if !1
    901 _GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
    902 # endif
    903 _GL_CXXALIAS_SYS (setstate, char *, (char *arg_state));
    904 _GL_CXXALIASWARN (setstate);
    905 #elif defined GNULIB_POSIXCHECK
    906 # undef setstate
    907 # if HAVE_RAW_DECL_SETSTATE_R
    908 _GL_WARN_ON_USE (setstate, "setstate is unportable - "
    909                  "use gnulib module random for portability");
    910 # endif
    911 #endif
    912 
    913 
    914 #if 0
    915 # if 0
    916 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    917 #   undef random_r
    918 #   define random_r rpl_random_r
    919 #  endif
    920 _GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
    921                                  _GL_ARG_NONNULL ((1, 2)));
    922 _GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
    923 # else
    924 #  if !1
    925 _GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
    926                                  _GL_ARG_NONNULL ((1, 2)));
    927 #  endif
    928 _GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
    929 # endif
    930 _GL_CXXALIASWARN (random_r);
    931 #elif defined GNULIB_POSIXCHECK
    932 # undef random_r
    933 # if HAVE_RAW_DECL_RANDOM_R
    934 _GL_WARN_ON_USE (random_r, "random_r is unportable - "
    935                  "use gnulib module random_r for portability");
    936 # endif
    937 #endif
    938 
    939 #if 0
    940 # if 0
    941 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    942 #   undef srandom_r
    943 #   define srandom_r rpl_srandom_r
    944 #  endif
    945 _GL_FUNCDECL_RPL (srandom_r, int,
    946                   (unsigned int seed, struct random_data *rand_state)
    947                   _GL_ARG_NONNULL ((2)));
    948 _GL_CXXALIAS_RPL (srandom_r, int,
    949                   (unsigned int seed, struct random_data *rand_state));
    950 # else
    951 #  if !1
    952 _GL_FUNCDECL_SYS (srandom_r, int,
    953                   (unsigned int seed, struct random_data *rand_state)
    954                   _GL_ARG_NONNULL ((2)));
    955 #  endif
    956 _GL_CXXALIAS_SYS (srandom_r, int,
    957                   (unsigned int seed, struct random_data *rand_state));
    958 # endif
    959 _GL_CXXALIASWARN (srandom_r);
    960 #elif defined GNULIB_POSIXCHECK
    961 # undef srandom_r
    962 # if HAVE_RAW_DECL_SRANDOM_R
    963 _GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
    964                  "use gnulib module random_r for portability");
    965 # endif
    966 #endif
    967 
    968 #if 0
    969 # if 0
    970 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    971 #   undef initstate_r
    972 #   define initstate_r rpl_initstate_r
    973 #  endif
    974 _GL_FUNCDECL_RPL (initstate_r, int,
    975                   (unsigned int seed, char *buf, size_t buf_size,
    976                    struct random_data *rand_state)
    977                   _GL_ARG_NONNULL ((2, 4)));
    978 _GL_CXXALIAS_RPL (initstate_r, int,
    979                   (unsigned int seed, char *buf, size_t buf_size,
    980                    struct random_data *rand_state));
    981 # else
    982 #  if !1
    983 _GL_FUNCDECL_SYS (initstate_r, int,
    984                   (unsigned int seed, char *buf, size_t buf_size,
    985                    struct random_data *rand_state)
    986                   _GL_ARG_NONNULL ((2, 4)));
    987 #  endif
    988 _GL_CXXALIAS_SYS (initstate_r, int,
    989                   (unsigned int seed, char *buf, size_t buf_size,
    990                    struct random_data *rand_state));
    991 # endif
    992 _GL_CXXALIASWARN (initstate_r);
    993 #elif defined GNULIB_POSIXCHECK
    994 # undef initstate_r
    995 # if HAVE_RAW_DECL_INITSTATE_R
    996 _GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
    997                  "use gnulib module random_r for portability");
    998 # endif
    999 #endif
   1000 
   1001 #if 0
   1002 # if 0
   1003 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1004 #   undef setstate_r
   1005 #   define setstate_r rpl_setstate_r
   1006 #  endif
   1007 _GL_FUNCDECL_RPL (setstate_r, int,
   1008                   (char *arg_state, struct random_data *rand_state)
   1009                   _GL_ARG_NONNULL ((1, 2)));
   1010 _GL_CXXALIAS_RPL (setstate_r, int,
   1011                   (char *arg_state, struct random_data *rand_state));
   1012 # else
   1013 #  if !1
   1014 _GL_FUNCDECL_SYS (setstate_r, int,
   1015                   (char *arg_state, struct random_data *rand_state)
   1016                   _GL_ARG_NONNULL ((1, 2)));
   1017 #  endif
   1018 _GL_CXXALIAS_SYS (setstate_r, int,
   1019                   (char *arg_state, struct random_data *rand_state));
   1020 # endif
   1021 _GL_CXXALIASWARN (setstate_r);
   1022 #elif defined GNULIB_POSIXCHECK
   1023 # undef setstate_r
   1024 # if HAVE_RAW_DECL_SETSTATE_R
   1025 _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
   1026                  "use gnulib module random_r for portability");
   1027 # endif
   1028 #endif
   1029 
   1030 
   1031 #if 1
   1032 # if 0
   1033 #  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
   1034         || _GL_USE_STDLIB_ALLOC)
   1035 #   undef realloc
   1036 #   define realloc rpl_realloc
   1037 #  endif
   1038 _GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
   1039 _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
   1040 # else
   1041 _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
   1042 # endif
   1043 _GL_CXXALIASWARN (realloc);
   1044 #elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
   1045 # undef realloc
   1046 /* Assume realloc is always declared.  */
   1047 _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
   1048                  "use gnulib module realloc-posix for portability");
   1049 #endif
   1050 
   1051 #if 0
   1052 # if 0
   1053 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1054 #   define realpath rpl_realpath
   1055 #  endif
   1056 _GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved)
   1057                                     _GL_ARG_NONNULL ((1)));
   1058 _GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved));
   1059 # else
   1060 #  if !1
   1061 _GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved)
   1062                                     _GL_ARG_NONNULL ((1)));
   1063 #  endif
   1064 _GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved));
   1065 # endif
   1066 _GL_CXXALIASWARN (realpath);
   1067 #elif defined GNULIB_POSIXCHECK
   1068 # undef realpath
   1069 # if HAVE_RAW_DECL_REALPATH
   1070 _GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
   1071                  "canonicalize or canonicalize-lgpl for portability");
   1072 # endif
   1073 #endif
   1074 
   1075 #if 0
   1076 /* Test a user response to a question.
   1077    Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear.  */
   1078 # if !1
   1079 _GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
   1080 # endif
   1081 _GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
   1082 _GL_CXXALIASWARN (rpmatch);
   1083 #elif defined GNULIB_POSIXCHECK
   1084 # undef rpmatch
   1085 # if HAVE_RAW_DECL_RPMATCH
   1086 _GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
   1087                  "use gnulib module rpmatch for portability");
   1088 # endif
   1089 #endif
   1090 
   1091 #if 0
   1092 /* Set NAME to VALUE in the environment.
   1093    If REPLACE is nonzero, overwrite an existing value.  */
   1094 # if 0
   1095 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1096 #   undef setenv
   1097 #   define setenv rpl_setenv
   1098 #  endif
   1099 _GL_FUNCDECL_RPL (setenv, int,
   1100                   (const char *name, const char *value, int replace)
   1101                   _GL_ARG_NONNULL ((1)));
   1102 _GL_CXXALIAS_RPL (setenv, int,
   1103                   (const char *name, const char *value, int replace));
   1104 # else
   1105 #  if !1
   1106 _GL_FUNCDECL_SYS (setenv, int,
   1107                   (const char *name, const char *value, int replace)
   1108                   _GL_ARG_NONNULL ((1)));
   1109 #  endif
   1110 _GL_CXXALIAS_SYS (setenv, int,
   1111                   (const char *name, const char *value, int replace));
   1112 # endif
   1113 # if !(0 && !1)
   1114 _GL_CXXALIASWARN (setenv);
   1115 # endif
   1116 #elif defined GNULIB_POSIXCHECK
   1117 # undef setenv
   1118 # if HAVE_RAW_DECL_SETENV
   1119 _GL_WARN_ON_USE (setenv, "setenv is unportable - "
   1120                  "use gnulib module setenv for portability");
   1121 # endif
   1122 #endif
   1123 
   1124 #if 0
   1125  /* Parse a double from STRING, updating ENDP if appropriate.  */
   1126 # if 0
   1127 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1128 #   define strtod rpl_strtod
   1129 #  endif
   1130 _GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
   1131                                   _GL_ARG_NONNULL ((1)));
   1132 _GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
   1133 # else
   1134 #  if !1
   1135 _GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp)
   1136                                   _GL_ARG_NONNULL ((1)));
   1137 #  endif
   1138 _GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp));
   1139 # endif
   1140 _GL_CXXALIASWARN (strtod);
   1141 #elif defined GNULIB_POSIXCHECK
   1142 # undef strtod
   1143 # if HAVE_RAW_DECL_STRTOD
   1144 _GL_WARN_ON_USE (strtod, "strtod is unportable - "
   1145                  "use gnulib module strtod for portability");
   1146 # endif
   1147 #endif
   1148 
   1149 #if 0
   1150 /* Parse a signed integer whose textual representation starts at STRING.
   1151    The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
   1152    it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
   1153    "0x").
   1154    If ENDPTR is not NULL, the address of the first byte after the integer is
   1155    stored in *ENDPTR.
   1156    Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
   1157    to ERANGE.  */
   1158 # if !1
   1159 _GL_FUNCDECL_SYS (strtoll, long long,
   1160                   (const char *string, char **endptr, int base)
   1161                   _GL_ARG_NONNULL ((1)));
   1162 # endif
   1163 _GL_CXXALIAS_SYS (strtoll, long long,
   1164                   (const char *string, char **endptr, int base));
   1165 _GL_CXXALIASWARN (strtoll);
   1166 #elif defined GNULIB_POSIXCHECK
   1167 # undef strtoll
   1168 # if HAVE_RAW_DECL_STRTOLL
   1169 _GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
   1170                  "use gnulib module strtoll for portability");
   1171 # endif
   1172 #endif
   1173 
   1174 #if 0
   1175 /* Parse an unsigned integer whose textual representation starts at STRING.
   1176    The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
   1177    it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
   1178    "0x").
   1179    If ENDPTR is not NULL, the address of the first byte after the integer is
   1180    stored in *ENDPTR.
   1181    Upon overflow, the return value is ULLONG_MAX, and errno is set to
   1182    ERANGE.  */
   1183 # if !1
   1184 _GL_FUNCDECL_SYS (strtoull, unsigned long long,
   1185                   (const char *string, char **endptr, int base)
   1186                   _GL_ARG_NONNULL ((1)));
   1187 # endif
   1188 _GL_CXXALIAS_SYS (strtoull, unsigned long long,
   1189                   (const char *string, char **endptr, int base));
   1190 _GL_CXXALIASWARN (strtoull);
   1191 #elif defined GNULIB_POSIXCHECK
   1192 # undef strtoull
   1193 # if HAVE_RAW_DECL_STRTOULL
   1194 _GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
   1195                  "use gnulib module strtoull for portability");
   1196 # endif
   1197 #endif
   1198 
   1199 #if 0
   1200 /* Unlock the slave side of the pseudo-terminal whose master side is specified
   1201    by FD, so that it can be opened.  */
   1202 # if !1
   1203 _GL_FUNCDECL_SYS (unlockpt, int, (int fd));
   1204 # endif
   1205 _GL_CXXALIAS_SYS (unlockpt, int, (int fd));
   1206 _GL_CXXALIASWARN (unlockpt);
   1207 #elif defined GNULIB_POSIXCHECK
   1208 # undef unlockpt
   1209 # if HAVE_RAW_DECL_UNLOCKPT
   1210 _GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
   1211                  "use gnulib module unlockpt for portability");
   1212 # endif
   1213 #endif
   1214 
   1215 #if 1
   1216 /* Remove the variable NAME from the environment.  */
   1217 # if 0
   1218 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1219 #   undef unsetenv
   1220 #   define unsetenv rpl_unsetenv
   1221 #  endif
   1222 _GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
   1223 _GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
   1224 # else
   1225 #  if !1
   1226 _GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
   1227 #  endif
   1228 _GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
   1229 # endif
   1230 # if !(0 && !1)
   1231 _GL_CXXALIASWARN (unsetenv);
   1232 # endif
   1233 #elif defined GNULIB_POSIXCHECK
   1234 # undef unsetenv
   1235 # if HAVE_RAW_DECL_UNSETENV
   1236 _GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
   1237                  "use gnulib module unsetenv for portability");
   1238 # endif
   1239 #endif
   1240 
   1241 /* Convert a wide character to a multibyte character.  */
   1242 #if 0
   1243 # if 0
   1244 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
   1245 #   undef wctomb
   1246 #   define wctomb rpl_wctomb
   1247 #  endif
   1248 _GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
   1249 _GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
   1250 # else
   1251 _GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
   1252 # endif
   1253 _GL_CXXALIASWARN (wctomb);
   1254 #endif
   1255 
   1256 
   1257 #endif /* _GL_STDLIB_H */
   1258 #endif /* _GL_STDLIB_H */
   1259 #endif
   1260