summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/inttypes.h1509
-rw-r--r--lib/malloc/dynarray-skeleton.gl.h529
-rw-r--r--lib/malloc/dynarray.gl.h174
-rw-r--r--lib/sched.h580
-rw-r--r--lib/spawn.h1499
-rw-r--r--lib/stdckdint.h38
6 files changed, 0 insertions, 4329 deletions
diff --git a/lib/inttypes.h b/lib/inttypes.h
deleted file mode 100644
index 445a59959..000000000
--- a/lib/inttypes.h
+++ /dev/null
@@ -1,1509 +0,0 @@
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2006-2022 Free Software Foundation, Inc.
- Written by Paul Eggert, Bruno Haible, Derek Price.
- This file is part of gnulib.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/*
- * ISO C 99 <inttypes.h> for platforms that lack it.
- * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/inttypes.h.html>
- */
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-
-/* Include the original <inttypes.h> if it exists, and if this file
- has not been included yet or if this file includes gnulib stdint.h
- which in turn includes this file.
- The include_next requires a split double-inclusion guard. */
-#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
-# if 1
-
- /* Some pre-C++11 <stdint.h> implementations need this. */
-# if defined __cplusplus && ! defined __STDC_FORMAT_MACROS
-# define __STDC_FORMAT_MACROS 1
-# endif
-
-# include_next <inttypes.h>
-
-# define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H
-# endif
-#endif
-
-#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
-#define INTTYPES_H
-
-/* Include <stdint.h> or the gnulib replacement.
- But avoid namespace pollution on glibc systems. */
-#ifndef __GLIBC__
-# include <stdint.h>
-#endif
-/* Get CHAR_BIT, INT_MAX, LONG_MAX, etc. */
-#include <limits.h>
-/* On mingw, __USE_MINGW_ANSI_STDIO only works if <stdio.h> is also included */
-#if defined _WIN32 && ! defined __CYGWIN__
-# include <stdio.h>
-#endif
-
-#if !(INT_MAX == 0x7fffffff && INT_MIN + INT_MAX == -1)
-# error "This file assumes that 'int' is 32-bit two's complement. Please report your platform and compiler to <bug-gnulib@gnu.org>."
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
-/* C++ compatible function declaration macros.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _GL_CXXDEFS_H
-#define _GL_CXXDEFS_H
-
-/* Begin/end the GNULIB_NAMESPACE namespace. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_BEGIN_NAMESPACE namespace GNULIB_NAMESPACE {
-# define _GL_END_NAMESPACE }
-#else
-# define _GL_BEGIN_NAMESPACE
-# define _GL_END_NAMESPACE
-#endif
-
-/* The three most frequent use cases of these macros are:
-
- * For providing a substitute for a function that is missing on some
- platforms, but is declared and works fine on the platforms on which
- it exists:
-
- #if @GNULIB_FOO@
- # if !@HAVE_FOO@
- _GL_FUNCDECL_SYS (foo, ...);
- # endif
- _GL_CXXALIAS_SYS (foo, ...);
- _GL_CXXALIASWARN (foo);
- #elif defined GNULIB_POSIXCHECK
- ...
- #endif
-
- * For providing a replacement for a function that exists on all platforms,
- but is broken/insufficient and needs to be replaced on some platforms:
-
- #if @GNULIB_FOO@
- # if @REPLACE_FOO@
- # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
- # undef foo
- # define foo rpl_foo
- # endif
- _GL_FUNCDECL_RPL (foo, ...);
- _GL_CXXALIAS_RPL (foo, ...);
- # else
- _GL_CXXALIAS_SYS (foo, ...);
- # endif
- _GL_CXXALIASWARN (foo);
- #elif defined GNULIB_POSIXCHECK
- ...
- #endif
-
- * For providing a replacement for a function that exists on some platforms
- but is broken/insufficient and needs to be replaced on some of them and
- is additionally either missing or undeclared on some other platforms:
-
- #if @GNULIB_FOO@
- # if @REPLACE_FOO@
- # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
- # undef foo
- # define foo rpl_foo
- # endif
- _GL_FUNCDECL_RPL (foo, ...);
- _GL_CXXALIAS_RPL (foo, ...);
- # else
- # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@
- _GL_FUNCDECL_SYS (foo, ...);
- # endif
- _GL_CXXALIAS_SYS (foo, ...);
- # endif
- _GL_CXXALIASWARN (foo);
- #elif defined GNULIB_POSIXCHECK
- ...
- #endif
-*/
-
-/* _GL_EXTERN_C declaration;
- performs the declaration with C linkage. */
-#if defined __cplusplus
-# define _GL_EXTERN_C extern "C"
-#else
-# define _GL_EXTERN_C extern
-#endif
-
-/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
- declares a replacement function, named rpl_func, with the given prototype,
- consisting of return type, parameters, and attributes.
- Example:
- _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
- _GL_ARG_NONNULL ((1)));
- */
-#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
- _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
-#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
- _GL_EXTERN_C rettype rpl_func parameters_and_attributes
-
-/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
- declares the system function, named func, with the given prototype,
- consisting of return type, parameters, and attributes.
- Example:
- _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
- _GL_ARG_NONNULL ((1)));
- */
-#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
- _GL_EXTERN_C rettype func parameters_and_attributes
-
-/* _GL_CXXALIAS_RPL (func, rettype, parameters);
- declares a C++ alias called GNULIB_NAMESPACE::func
- that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
- Example:
- _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
-
- Wrapping rpl_func in an object with an inline conversion operator
- avoids a reference to rpl_func unless GNULIB_NAMESPACE::func is
- actually used in the program. */
-#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return ::rpl_func; \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_MDA (func, rettype, parameters);
- is to be used when func is a Microsoft deprecated alias, on native Windows.
- It declares a C++ alias called GNULIB_NAMESPACE::func
- that redirects to _func, if GNULIB_NAMESPACE is defined.
- Example:
- _GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
- */
-#define _GL_CXXALIAS_MDA(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_1 (func, _##func, rettype, parameters)
-
-/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
- is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
- except that the C function rpl_func may have a slightly different
- declaration. A cast is used to silence the "invalid conversion" error
- that would otherwise occur. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>(::rpl_func); \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_MDA_CAST (func, rettype, parameters);
- is like _GL_CXXALIAS_MDA (func, rettype, parameters);
- except that the C function func may have a slightly different declaration.
- A cast is used to silence the "invalid conversion" error that would
- otherwise occur. */
-#define _GL_CXXALIAS_MDA_CAST(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_CAST_1 (func, _##func, rettype, parameters)
-
-/* _GL_CXXALIAS_SYS (func, rettype, parameters);
- declares a C++ alias called GNULIB_NAMESPACE::func
- that redirects to the system provided function func, if GNULIB_NAMESPACE
- is defined.
- Example:
- _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
-
- Wrapping func in an object with an inline conversion operator
- avoids a reference to func unless GNULIB_NAMESPACE::func is
- actually used in the program. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return ::func; \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
- is like _GL_CXXALIAS_SYS (func, rettype, parameters);
- except that the C function func may have a slightly different declaration.
- A cast is used to silence the "invalid conversion" error that would
- otherwise occur. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>(::func); \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
- is like _GL_CXXALIAS_SYS (func, rettype, parameters);
- except that the C function is picked among a set of overloaded functions,
- namely the one with rettype2 and parameters2. Two consecutive casts
- are used to silence the "cannot find a match" and "invalid conversion"
- errors that would otherwise occur. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
- /* The outer cast must be a reinterpret_cast.
- The inner cast: When the function is defined as a set of overloaded
- functions, it works as a static_cast<>, choosing the designated variant.
- When the function is defined as a single variant, it works as a
- reinterpret_cast<>. The parenthesized cast syntax works both ways. */
-# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>((rettype2 (*) parameters2)(::func)); \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIASWARN (func);
- causes a warning to be emitted when ::func is used but not when
- GNULIB_NAMESPACE::func is used. func must be defined without overloaded
- variants. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIASWARN(func) \
- _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
-# define _GL_CXXALIASWARN_1(func,namespace) \
- _GL_CXXALIASWARN_2 (func, namespace)
-/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
- we enable the warning only when not optimizing. */
-# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
-# define _GL_CXXALIASWARN_2(func,namespace) \
- _GL_WARN_ON_USE (func, \
- "The symbol ::" #func " refers to the system function. " \
- "Use " #namespace "::" #func " instead.")
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-# define _GL_CXXALIASWARN_2(func,namespace) \
- extern __typeof__ (func) func
-# else
-# define _GL_CXXALIASWARN_2(func,namespace) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-# endif
-#else
-# define _GL_CXXALIASWARN(func) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
- causes a warning to be emitted when the given overloaded variant of ::func
- is used but not when GNULIB_NAMESPACE::func is used. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
- _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
- GNULIB_NAMESPACE)
-# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
- _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
-/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
- we enable the warning only when not optimizing. */
-# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
-# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
- _GL_WARN_ON_USE_CXX (func, rettype, rettype, parameters_and_attributes, \
- "The symbol ::" #func " refers to the system function. " \
- "Use " #namespace "::" #func " instead.")
-# else
-# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-# endif
-#else
-# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-#endif /* _GL_CXXDEFS_H */
-
-/* The definition of _GL_ARG_NONNULL is copied here. */
-/* A C macro for declaring that specific arguments must not be NULL.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
- that the values passed as arguments n, ..., m must be non-NULL pointers.
- n = 1 stands for the first argument, n = 2 for the second argument etc. */
-#ifndef _GL_ARG_NONNULL
-# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || defined __clang__
-# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
-# else
-# define _GL_ARG_NONNULL(params)
-# endif
-#endif
-
-/* The definition of _GL_WARN_ON_USE is copied here. */
-/* A C macro for emitting warnings if a function is used.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
- for FUNCTION which will then trigger a compiler warning containing
- the text of "literal string" anywhere that function is called, if
- supported by the compiler. If the compiler does not support this
- feature, the macro expands to an unused extern declaration.
-
- _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the
- attribute used in _GL_WARN_ON_USE. If the compiler does not support
- this feature, it expands to empty.
-
- These macros are useful for marking a function as a potential
- portability trap, with the intent that "literal string" include
- instructions on the replacement function that should be used
- instead.
- _GL_WARN_ON_USE is for functions with 'extern' linkage.
- _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
- linkage.
-
- However, one of the reasons that a function is a portability trap is
- if it has the wrong signature. Declaring FUNCTION with a different
- signature in C is a compilation error, so this macro must use the
- same type as any existing declaration so that programs that avoid
- the problematic FUNCTION do not fail to compile merely because they
- included a header that poisoned the function. But this implies that
- _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already
- have a declaration. Use of this macro implies that there must not
- be any other macro hiding the declaration of FUNCTION; but
- undefining FUNCTION first is part of the poisoning process anyway
- (although for symbols that are provided only via a macro, the result
- is a compilation error rather than a warning containing
- "literal string"). Also note that in C++, it is only safe to use if
- FUNCTION has no overloads.
-
- For an example, it is possible to poison 'getline' by:
- - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
- [getline]) in configure.ac, which potentially defines
- HAVE_RAW_DECL_GETLINE
- - adding this code to a header that wraps the system <stdio.h>:
- #undef getline
- #if HAVE_RAW_DECL_GETLINE
- _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
- "not universally present; use the gnulib module getline");
- #endif
-
- It is not possible to directly poison global variables. But it is
- possible to write a wrapper accessor function, and poison that
- (less common usage, like &environ, will cause a compilation error
- rather than issue the nice warning, but the end result of informing
- the developer about their portability problem is still achieved):
- #if HAVE_RAW_DECL_ENVIRON
- static char ***
- rpl_environ (void) { return &environ; }
- _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
- # undef environ
- # define environ (*rpl_environ ())
- #endif
- or better (avoiding contradictory use of 'static' and 'extern'):
- #if HAVE_RAW_DECL_ENVIRON
- static char ***
- _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared")
- rpl_environ (void) { return &environ; }
- # undef environ
- # define environ (*rpl_environ ())
- #endif
- */
-#ifndef _GL_WARN_ON_USE
-
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-/* A compiler attribute is available in gcc versions 4.3.0 and later. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C __typeof__ (function) function __attribute__ ((__warning__ (message)))
-# define _GL_WARN_ON_USE_ATTRIBUTE(message) \
- __attribute__ ((__warning__ (message)))
-# elif __clang_major__ >= 4
-/* Another compiler attribute is available in clang. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C __typeof__ (function) function \
- __attribute__ ((__diagnose_if__ (1, message, "warning")))
-# define _GL_WARN_ON_USE_ATTRIBUTE(message) \
- __attribute__ ((__diagnose_if__ (1, message, "warning")))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-/* Verify the existence of the function. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C __typeof__ (function) function
-# define _GL_WARN_ON_USE_ATTRIBUTE(message)
-# else /* Unsupported. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C int _gl_warn_on_use
-# define _GL_WARN_ON_USE_ATTRIBUTE(message)
-# endif
-#endif
-
-/* _GL_WARN_ON_USE_CXX (function, rettype_gcc, rettype_clang, parameters_and_attributes, "message")
- is like _GL_WARN_ON_USE (function, "message"), except that in C++ mode the
- function is declared with the given prototype, consisting of return type,
- parameters, and attributes.
- This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
- not work in this case. */
-#ifndef _GL_WARN_ON_USE_CXX
-# if !defined __cplusplus
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
- _GL_WARN_ON_USE (function, msg)
-# else
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-/* A compiler attribute is available in gcc versions 4.3.0 and later. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_gcc function parameters_and_attributes \
- __attribute__ ((__warning__ (msg)))
-# elif __clang_major__ >= 4
-/* Another compiler attribute is available in clang. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_clang function parameters_and_attributes \
- __attribute__ ((__diagnose_if__ (1, msg, "warning")))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-/* Verify the existence of the function. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_gcc function parameters_and_attributes
-# else /* Unsupported. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-_GL_WARN_EXTERN_C int _gl_warn_on_use
-# endif
-# endif
-#endif
-
-/* _GL_WARN_EXTERN_C declaration;
- performs the declaration with C linkage. */
-#ifndef _GL_WARN_EXTERN_C
-# if defined __cplusplus
-# define _GL_WARN_EXTERN_C extern "C"
-# else
-# define _GL_WARN_EXTERN_C extern
-# endif
-#endif
-
-/* 7.8.1 Macros for format specifiers */
-
-#if defined _TNS_R_TARGET
- /* Tandem NonStop R series and compatible platforms released before
- July 2005 support %Ld but not %lld. */
-# define _LONG_LONG_FORMAT_PREFIX "L"
-#else
-# define _LONG_LONG_FORMAT_PREFIX "ll"
-#endif
-
-#if !defined PRId8
-# ifdef INT8_MAX
-# define PRId8 "d"
-# endif
-#endif
-#if !defined PRIi8
-# ifdef INT8_MAX
-# define PRIi8 "i"
-# endif
-#endif
-#if !defined PRIo8
-# ifdef UINT8_MAX
-# define PRIo8 "o"
-# endif
-#endif
-#if !defined PRIu8
-# ifdef UINT8_MAX
-# define PRIu8 "u"
-# endif
-#endif
-#if !defined PRIx8
-# ifdef UINT8_MAX
-# define PRIx8 "x"
-# endif
-#endif
-#if !defined PRIX8
-# ifdef UINT8_MAX
-# define PRIX8 "X"
-# endif
-#endif
-#if !defined PRId16
-# ifdef INT16_MAX
-# define PRId16 "d"
-# endif
-#endif
-#if !defined PRIi16
-# ifdef INT16_MAX
-# define PRIi16 "i"
-# endif
-#endif
-#if !defined PRIo16
-# ifdef UINT16_MAX
-# define PRIo16 "o"
-# endif
-#endif
-#if !defined PRIu16
-# ifdef UINT16_MAX
-# define PRIu16 "u"
-# endif
-#endif
-#if !defined PRIx16
-# ifdef UINT16_MAX
-# define PRIx16 "x"
-# endif
-#endif
-#if !defined PRIX16
-# ifdef UINT16_MAX
-# define PRIX16 "X"
-# endif
-#endif
-#if !defined PRId32
-# ifdef INT32_MAX
-# define PRId32 "d"
-# endif
-#endif
-#if !defined PRIi32
-# ifdef INT32_MAX
-# define PRIi32 "i"
-# endif
-#endif
-#if !defined PRIo32
-# ifdef UINT32_MAX
-# define PRIo32 "o"
-# endif
-#endif
-#if !defined PRIu32
-# ifdef UINT32_MAX
-# define PRIu32 "u"
-# endif
-#endif
-#if !defined PRIx32
-# ifdef UINT32_MAX
-# define PRIx32 "x"
-# endif
-#endif
-#if !defined PRIX32
-# ifdef UINT32_MAX
-# define PRIX32 "X"
-# endif
-#endif
-#ifdef INT64_MAX
-# if (0 ? defined _LP64 : defined _LP64)
-# define _PRI64_PREFIX "l"
-# elif defined _MSC_VER || defined __MINGW32__
-# define _PRI64_PREFIX "I64"
-# elif LONG_MAX >> 30 == 1
-# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
-# endif
-# if !defined PRId64
-# define PRId64 _PRI64_PREFIX "d"
-# endif
-# if !defined PRIi64
-# define PRIi64 _PRI64_PREFIX "i"
-# endif
-#endif
-#ifdef UINT64_MAX
-# if (0 ? defined _LP64 : defined _LP64)
-# define _PRIu64_PREFIX "l"
-# elif defined _MSC_VER || defined __MINGW32__
-# define _PRIu64_PREFIX "I64"
-# elif ULONG_MAX >> 31 == 1
-# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
-# endif
-# if !defined PRIo64
-# define PRIo64 _PRIu64_PREFIX "o"
-# endif
-# if !defined PRIu64
-# define PRIu64 _PRIu64_PREFIX "u"
-# endif
-# if !defined PRIx64
-# define PRIx64 _PRIu64_PREFIX "x"
-# endif
-# if !defined PRIX64
-# define PRIX64 _PRIu64_PREFIX "X"
-# endif
-#endif
-
-#if !defined PRIdLEAST8
-# define PRIdLEAST8 "d"
-#endif
-#if !defined PRIiLEAST8
-# define PRIiLEAST8 "i"
-#endif
-#if !defined PRIoLEAST8
-# define PRIoLEAST8 "o"
-#endif
-#if !defined PRIuLEAST8
-# define PRIuLEAST8 "u"
-#endif
-#if !defined PRIxLEAST8
-# define PRIxLEAST8 "x"
-#endif
-#if !defined PRIXLEAST8
-# define PRIXLEAST8 "X"
-#endif
-#if !defined PRIdLEAST16
-# define PRIdLEAST16 "d"
-#endif
-#if !defined PRIiLEAST16
-# define PRIiLEAST16 "i"
-#endif
-#if !defined PRIoLEAST16
-# define PRIoLEAST16 "o"
-#endif
-#if !defined PRIuLEAST16
-# define PRIuLEAST16 "u"
-#endif
-#if !defined PRIxLEAST16
-# define PRIxLEAST16 "x"
-#endif
-#if !defined PRIXLEAST16
-# define PRIXLEAST16 "X"
-#endif
-#if !defined PRIdLEAST32
-# define PRIdLEAST32 "d"
-#endif
-#if !defined PRIiLEAST32
-# define PRIiLEAST32 "i"
-#endif
-#if !defined PRIoLEAST32
-# define PRIoLEAST32 "o"
-#endif
-#if !defined PRIuLEAST32
-# define PRIuLEAST32 "u"
-#endif
-#if !defined PRIxLEAST32
-# define PRIxLEAST32 "x"
-#endif
-#if !defined PRIXLEAST32
-# define PRIXLEAST32 "X"
-#endif
-#ifdef INT64_MAX
-# if !defined PRIdLEAST64
-# define PRIdLEAST64 PRId64
-# endif
-# if !defined PRIiLEAST64
-# define PRIiLEAST64 PRIi64
-# endif
-#endif
-#ifdef UINT64_MAX
-# if !defined PRIoLEAST64
-# define PRIoLEAST64 PRIo64
-# endif
-# if !defined PRIuLEAST64
-# define PRIuLEAST64 PRIu64
-# endif
-# if !defined PRIxLEAST64
-# define PRIxLEAST64 PRIx64
-# endif
-# if !defined PRIXLEAST64
-# define PRIXLEAST64 PRIX64
-# endif
-#endif
-
-#if !defined PRIdFAST8
-# if INT_FAST8_MAX > INT32_MAX
-# define PRIdFAST8 PRId64
-# else
-# define PRIdFAST8 "d"
-# endif
-#endif
-#if !defined PRIiFAST8
-# if INT_FAST8_MAX > INT32_MAX
-# define PRIiFAST8 PRIi64
-# else
-# define PRIiFAST8 "i"
-# endif
-#endif
-#if !defined PRIoFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-# define PRIoFAST8 PRIo64
-# else
-# define PRIoFAST8 "o"
-# endif
-#endif
-#if !defined PRIuFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-# define PRIuFAST8 PRIu64
-# else
-# define PRIuFAST8 "u"
-# endif
-#endif
-#if !defined PRIxFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-# define PRIxFAST8 PRIx64
-# else
-# define PRIxFAST8 "x"
-# endif
-#endif
-#if !defined PRIXFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-# define PRIXFAST8 PRIX64
-# else
-# define PRIXFAST8 "X"
-# endif
-#endif
-#if !defined PRIdFAST16
-# if INT_FAST16_MAX > INT32_MAX
-# define PRIdFAST16 PRId64
-# else
-# define PRIdFAST16 "d"
-# endif
-#endif
-#if !defined PRIiFAST16
-# if INT_FAST16_MAX > INT32_MAX
-# define PRIiFAST16 PRIi64
-# else
-# define PRIiFAST16 "i"
-# endif
-#endif
-#if !defined PRIoFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-# define PRIoFAST16 PRIo64
-# else
-# define PRIoFAST16 "o"
-# endif
-#endif
-#if !defined PRIuFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-# define PRIuFAST16 PRIu64
-# else
-# define PRIuFAST16 "u"
-# endif
-#endif
-#if !defined PRIxFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-# define PRIxFAST16 PRIx64
-# else
-# define PRIxFAST16 "x"
-# endif
-#endif
-#if !defined PRIXFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-# define PRIXFAST16 PRIX64
-# else
-# define PRIXFAST16 "X"
-# endif
-#endif
-#if !defined PRIdFAST32
-# if INT_FAST32_MAX > INT32_MAX
-# define PRIdFAST32 PRId64
-# else
-# define PRIdFAST32 "d"
-# endif
-#endif
-#if !defined PRIiFAST32
-# if INT_FAST32_MAX > INT32_MAX
-# define PRIiFAST32 PRIi64
-# else
-# define PRIiFAST32 "i"
-# endif
-#endif
-#if !defined PRIoFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-# define PRIoFAST32 PRIo64
-# else
-# define PRIoFAST32 "o"
-# endif
-#endif
-#if !defined PRIuFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-# define PRIuFAST32 PRIu64
-# else
-# define PRIuFAST32 "u"
-# endif
-#endif
-#if !defined PRIxFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-# define PRIxFAST32 PRIx64
-# else
-# define PRIxFAST32 "x"
-# endif
-#endif
-#if !defined PRIXFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-# define PRIXFAST32 PRIX64
-# else
-# define PRIXFAST32 "X"
-# endif
-#endif
-#ifdef INT64_MAX
-# if !defined PRIdFAST64
-# define PRIdFAST64 PRId64
-# endif
-# if !defined PRIiFAST64
-# define PRIiFAST64 PRIi64
-# endif
-#endif
-#ifdef UINT64_MAX
-# if !defined PRIoFAST64
-# define PRIoFAST64 PRIo64
-# endif
-# if !defined PRIuFAST64
-# define PRIuFAST64 PRIu64
-# endif
-# if !defined PRIxFAST64
-# define PRIxFAST64 PRIx64
-# endif
-# if !defined PRIXFAST64
-# define PRIXFAST64 PRIX64
-# endif
-#endif
-
-#if !defined PRIdMAX
-# if 1
-# define PRIdMAX PRId64
-# else
-# define PRIdMAX "ld"
-# endif
-#endif
-#if !defined PRIiMAX
-# if 1
-# define PRIiMAX PRIi64
-# else
-# define PRIiMAX "li"
-# endif
-#endif
-#if !defined PRIoMAX
-# if 1
-# define PRIoMAX PRIo64
-# else
-# define PRIoMAX "lo"
-# endif
-#endif
-#if !defined PRIuMAX
-# if 1
-# define PRIuMAX PRIu64
-# else
-# define PRIuMAX "lu"
-# endif
-#endif
-#if !defined PRIxMAX
-# if 1
-# define PRIxMAX PRIx64
-# else
-# define PRIxMAX "lx"
-# endif
-#endif
-#if !defined PRIXMAX
-# if 1
-# define PRIXMAX PRIX64
-# else
-# define PRIXMAX "lX"
-# endif
-#endif
-
-#if !defined PRIdPTR
-# ifdef INTPTR_MAX
-# define PRIdPTR __PRIPTR_PREFIX "d"
-# endif
-#endif
-#if !defined PRIiPTR
-# ifdef INTPTR_MAX
-# define PRIiPTR __PRIPTR_PREFIX "i"
-# endif
-#endif
-#if !defined PRIoPTR
-# ifdef UINTPTR_MAX
-# define PRIoPTR __PRIPTR_PREFIX "o"
-# endif
-#endif
-#if !defined PRIuPTR
-# ifdef UINTPTR_MAX
-# define PRIuPTR __PRIPTR_PREFIX "u"
-# endif
-#endif
-#if !defined PRIxPTR
-# ifdef UINTPTR_MAX
-# define PRIxPTR __PRIPTR_PREFIX "x"
-# endif
-#endif
-#if !defined PRIXPTR
-# ifdef UINTPTR_MAX
-# define PRIXPTR __PRIPTR_PREFIX "X"
-# endif
-#endif
-
-#if !defined SCNd8
-# ifdef INT8_MAX
-# define SCNd8 "hhd"
-# endif
-#endif
-#if !defined SCNi8
-# ifdef INT8_MAX
-# define SCNi8 "hhi"
-# endif
-#endif
-#if !defined SCNo8
-# ifdef UINT8_MAX
-# define SCNo8 "hho"
-# endif
-#endif
-#if !defined SCNu8
-# ifdef UINT8_MAX
-# define SCNu8 "hhu"
-# endif
-#endif
-#if !defined SCNx8
-# ifdef UINT8_MAX
-# define SCNx8 "hhx"
-# endif
-#endif
-#if !defined SCNd16
-# ifdef INT16_MAX
-# define SCNd16 "hd"
-# endif
-#endif
-#if !defined SCNi16
-# ifdef INT16_MAX
-# define SCNi16 "hi"
-# endif
-#endif
-#if !defined SCNo16
-# ifdef UINT16_MAX
-# define SCNo16 "ho"
-# endif
-#endif
-#if !defined SCNu16
-# ifdef UINT16_MAX
-# define SCNu16 "hu"
-# endif
-#endif
-#if !defined SCNx16
-# ifdef UINT16_MAX
-# define SCNx16 "hx"
-# endif
-#endif
-#if !defined SCNd32
-# ifdef INT32_MAX
-# define SCNd32 "d"
-# endif
-#endif
-#if !defined SCNi32
-# ifdef INT32_MAX
-# define SCNi32 "i"
-# endif
-#endif
-#if !defined SCNo32
-# ifdef UINT32_MAX
-# define SCNo32 "o"
-# endif
-#endif
-#if !defined SCNu32
-# ifdef UINT32_MAX
-# define SCNu32 "u"
-# endif
-#endif
-#if !defined SCNx32
-# ifdef UINT32_MAX
-# define SCNx32 "x"
-# endif
-#endif
-#ifdef INT64_MAX
-# if (0 ? defined _LP64 : defined _LP64)
-# define _SCN64_PREFIX "l"
-# elif defined _MSC_VER || defined __MINGW32__
-# define _SCN64_PREFIX "I64"
-# elif LONG_MAX >> 30 == 1
-# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
-# endif
-# if !defined SCNd64
-# define SCNd64 _SCN64_PREFIX "d"
-# endif
-# if !defined SCNi64
-# define SCNi64 _SCN64_PREFIX "i"
-# endif
-#endif
-#ifdef UINT64_MAX
-# if (0 ? defined _LP64 : defined _LP64)
-# define _SCNu64_PREFIX "l"
-# elif defined _MSC_VER || defined __MINGW32__
-# define _SCNu64_PREFIX "I64"
-# elif ULONG_MAX >> 31 == 1
-# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
-# endif
-# if !defined SCNo64
-# define SCNo64 _SCNu64_PREFIX "o"
-# endif
-# if !defined SCNu64
-# define SCNu64 _SCNu64_PREFIX "u"
-# endif
-# if !defined SCNx64
-# define SCNx64 _SCNu64_PREFIX "x"
-# endif
-#endif
-
-#if !defined SCNdLEAST8
-# define SCNdLEAST8 "hhd"
-#endif
-#if !defined SCNiLEAST8
-# define SCNiLEAST8 "hhi"
-#endif
-#if !defined SCNoLEAST8
-# define SCNoLEAST8 "hho"
-#endif
-#if !defined SCNuLEAST8
-# define SCNuLEAST8 "hhu"
-#endif
-#if !defined SCNxLEAST8
-# define SCNxLEAST8 "hhx"
-#endif
-#if !defined SCNdLEAST16
-# define SCNdLEAST16 "hd"
-#endif
-#if !defined SCNiLEAST16
-# define SCNiLEAST16 "hi"
-#endif
-#if !defined SCNoLEAST16
-# define SCNoLEAST16 "ho"
-#endif
-#if !defined SCNuLEAST16
-# define SCNuLEAST16 "hu"
-#endif
-#if !defined SCNxLEAST16
-# define SCNxLEAST16 "hx"
-#endif
-#if !defined SCNdLEAST32
-# define SCNdLEAST32 "d"
-#endif
-#if !defined SCNiLEAST32
-# define SCNiLEAST32 "i"
-#endif
-#if !defined SCNoLEAST32
-# define SCNoLEAST32 "o"
-#endif
-#if !defined SCNuLEAST32
-# define SCNuLEAST32 "u"
-#endif
-#if !defined SCNxLEAST32
-# define SCNxLEAST32 "x"
-#endif
-#ifdef INT64_MAX
-# if !defined SCNdLEAST64
-# define SCNdLEAST64 SCNd64
-# endif
-# if !defined SCNiLEAST64
-# define SCNiLEAST64 SCNi64
-# endif
-#endif
-#ifdef UINT64_MAX
-# if !defined SCNoLEAST64
-# define SCNoLEAST64 SCNo64
-# endif
-# if !defined SCNuLEAST64
-# define SCNuLEAST64 SCNu64
-# endif
-# if !defined SCNxLEAST64
-# define SCNxLEAST64 SCNx64
-# endif
-#endif
-
-#if !defined SCNdFAST8
-# if INT_FAST8_MAX > INT32_MAX
-# define SCNdFAST8 SCNd64
-# elif INT_FAST8_MAX == 0x7fff
-# define SCNdFAST8 "hd"
-# elif INT_FAST8_MAX == 0x7f
-# define SCNdFAST8 "hhd"
-# else
-# define SCNdFAST8 "d"
-# endif
-#endif
-#if !defined SCNiFAST8
-# if INT_FAST8_MAX > INT32_MAX
-# define SCNiFAST8 SCNi64
-# elif INT_FAST8_MAX == 0x7fff
-# define SCNiFAST8 "hi"
-# elif INT_FAST8_MAX == 0x7f
-# define SCNiFAST8 "hhi"
-# else
-# define SCNiFAST8 "i"
-# endif
-#endif
-#if !defined SCNoFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-# define SCNoFAST8 SCNo64
-# elif UINT_FAST8_MAX == 0xffff
-# define SCNoFAST8 "ho"
-# elif UINT_FAST8_MAX == 0xff
-# define SCNoFAST8 "hho"
-# else
-# define SCNoFAST8 "o"
-# endif
-#endif
-#if !defined SCNuFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-# define SCNuFAST8 SCNu64
-# elif UINT_FAST8_MAX == 0xffff
-# define SCNuFAST8 "hu"
-# elif UINT_FAST8_MAX == 0xff
-# define SCNuFAST8 "hhu"
-# else
-# define SCNuFAST8 "u"
-# endif
-#endif
-#if !defined SCNxFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-# define SCNxFAST8 SCNx64
-# elif UINT_FAST8_MAX == 0xffff
-# define SCNxFAST8 "hx"
-# elif UINT_FAST8_MAX == 0xff
-# define SCNxFAST8 "hhx"
-# else
-# define SCNxFAST8 "x"
-# endif
-#endif
-#if !defined SCNdFAST16
-# if INT_FAST16_MAX > INT32_MAX
-# define SCNdFAST16 SCNd64
-# elif INT_FAST16_MAX == 0x7fff
-# define SCNdFAST16 "hd"
-# else
-# define SCNdFAST16 "d"
-# endif
-#endif
-#if !defined SCNiFAST16
-# if INT_FAST16_MAX > INT32_MAX
-# define SCNiFAST16 SCNi64
-# elif INT_FAST16_MAX == 0x7fff
-# define SCNiFAST16 "hi"
-# else
-# define SCNiFAST16 "i"
-# endif
-#endif
-#if !defined SCNoFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-# define SCNoFAST16 SCNo64
-# elif UINT_FAST16_MAX == 0xffff
-# define SCNoFAST16 "ho"
-# else
-# define SCNoFAST16 "o"
-# endif
-#endif
-#if !defined SCNuFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-# define SCNuFAST16 SCNu64
-# elif UINT_FAST16_MAX == 0xffff
-# define SCNuFAST16 "hu"
-# else
-# define SCNuFAST16 "u"
-# endif
-#endif
-#if !defined SCNxFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-# define SCNxFAST16 SCNx64
-# elif UINT_FAST16_MAX == 0xffff
-# define SCNxFAST16 "hx"
-# else
-# define SCNxFAST16 "x"
-# endif
-#endif
-#if !defined SCNdFAST32
-# if INT_FAST32_MAX > INT32_MAX
-# define SCNdFAST32 SCNd64
-# else
-# define SCNdFAST32 "d"
-# endif
-#endif
-#if !defined SCNiFAST32
-# if INT_FAST32_MAX > INT32_MAX
-# define SCNiFAST32 SCNi64
-# else
-# define SCNiFAST32 "i"
-# endif
-#endif
-#if !defined SCNoFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-# define SCNoFAST32 SCNo64
-# else
-# define SCNoFAST32 "o"
-# endif
-#endif
-#if !defined SCNuFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-# define SCNuFAST32 SCNu64
-# else
-# define SCNuFAST32 "u"
-# endif
-#endif
-#if !defined SCNxFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-# define SCNxFAST32 SCNx64
-# else
-# define SCNxFAST32 "x"
-# endif
-#endif
-#ifdef INT64_MAX
-# if !defined SCNdFAST64
-# define SCNdFAST64 SCNd64
-# endif
-# if !defined SCNiFAST64
-# define SCNiFAST64 SCNi64
-# endif
-#endif
-#ifdef UINT64_MAX
-# if !defined SCNoFAST64
-# define SCNoFAST64 SCNo64
-# endif
-# if !defined SCNuFAST64
-# define SCNuFAST64 SCNu64
-# endif
-# if !defined SCNxFAST64
-# define SCNxFAST64 SCNx64
-# endif
-#endif
-
-#if !defined SCNdMAX
-# if 1
-# define SCNdMAX SCNd64
-# else
-# define SCNdMAX "ld"
-# endif
-#endif
-#if !defined SCNiMAX
-# if 1
-# define SCNiMAX SCNi64
-# else
-# define SCNiMAX "li"
-# endif
-#endif
-#if !defined SCNoMAX
-# if 1
-# define SCNoMAX SCNo64
-# else
-# define SCNoMAX "lo"
-# endif
-#endif
-#if !defined SCNuMAX
-# if 1
-# define SCNuMAX SCNu64
-# else
-# define SCNuMAX "lu"
-# endif
-#endif
-#if !defined SCNxMAX
-# if 1
-# define SCNxMAX SCNx64
-# else
-# define SCNxMAX "lx"
-# endif
-#endif
-
-#if !defined SCNdPTR
-# ifdef INTPTR_MAX
-# define SCNdPTR __PRIPTR_PREFIX "d"
-# endif
-#endif
-#if !defined SCNiPTR
-# ifdef INTPTR_MAX
-# define SCNiPTR __PRIPTR_PREFIX "i"
-# endif
-#endif
-#if !defined SCNoPTR
-# ifdef UINTPTR_MAX
-# define SCNoPTR __PRIPTR_PREFIX "o"
-# endif
-#endif
-#if !defined SCNuPTR
-# ifdef UINTPTR_MAX
-# define SCNuPTR __PRIPTR_PREFIX "u"
-# endif
-#endif
-#if !defined SCNxPTR
-# ifdef UINTPTR_MAX
-# define SCNxPTR __PRIPTR_PREFIX "x"
-# endif
-#endif
-
-/* 7.8.2 Functions for greatest-width integer types */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if 0
-# if !1
-extern intmax_t imaxabs (intmax_t);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef imaxabs
-# if HAVE_RAW_DECL_IMAXABS
-_GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - "
- "use gnulib module imaxabs for portability");
-# endif
-#endif
-
-#if 0
-# if !1
-# if !GNULIB_defined_imaxdiv_t
-typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
-# define GNULIB_defined_imaxdiv_t 1
-# endif
-# endif
-# if !1
-extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef imaxdiv
-# if HAVE_RAW_DECL_IMAXDIV
-_GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - "
- "use gnulib module imaxdiv for portability");
-# endif
-#endif
-
-#if 0
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef strtoimax
-# define strtoimax rpl_strtoimax
-# endif
-_GL_FUNCDECL_RPL (strtoimax, intmax_t,
- (const char *restrict, char **restrict, int)
- _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strtoimax, intmax_t,
- (const char *restrict, char **restrict, int));
-# else
-# if !1
-# undef strtoimax
-_GL_FUNCDECL_SYS (strtoimax, intmax_t,
- (const char *restrict, char **restrict, int)
- _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (strtoimax, intmax_t,
- (const char *restrict, char **restrict, int));
-# endif
-_GL_CXXALIASWARN (strtoimax);
-#elif defined GNULIB_POSIXCHECK
-# undef strtoimax
-# if HAVE_RAW_DECL_STRTOIMAX
-_GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - "
- "use gnulib module strtoimax for portability");
-# endif
-#endif
-
-#if 0
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef strtoumax
-# define strtoumax rpl_strtoumax
-# endif
-_GL_FUNCDECL_RPL (strtoumax, uintmax_t,
- (const char *restrict, char **restrict, int)
- _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strtoumax, uintmax_t,
- (const char *restrict, char **restrict, int));
-# else
-# if !1
-# undef strtoumax
-_GL_FUNCDECL_SYS (strtoumax, uintmax_t,
- (const char *restrict, char **restrict, int)
- _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (strtoumax, uintmax_t,
- (const char *restrict, char **restrict, int));
-# endif
-_GL_CXXALIASWARN (strtoumax);
-#elif defined GNULIB_POSIXCHECK
-# undef strtoumax
-# if HAVE_RAW_DECL_STRTOUMAX
-_GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - "
- "use gnulib module strtoumax for portability");
-# endif
-#endif
-
-/* Don't bother defining or declaring wcstoimax and wcstoumax, since
- wide-character functions like this are hardly ever useful. */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */
diff --git a/lib/malloc/dynarray-skeleton.gl.h b/lib/malloc/dynarray-skeleton.gl.h
deleted file mode 100644
index b48c6a920..000000000
--- a/lib/malloc/dynarray-skeleton.gl.h
+++ /dev/null
@@ -1,529 +0,0 @@
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Type-safe arrays which grow dynamically.
- Copyright (C) 2017-2021 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-/* Pre-processor macros which act as parameters:
-
- DYNARRAY_STRUCT
- The struct tag of dynamic array to be defined.
- DYNARRAY_ELEMENT
- The type name of the element type. Elements are copied
- as if by memcpy, and can change address as the dynamic
- array grows.
- DYNARRAY_PREFIX
- The prefix of the functions which are defined.
-
- The following parameters are optional:
-
- DYNARRAY_ELEMENT_FREE
- DYNARRAY_ELEMENT_FREE (E) is evaluated to deallocate the
- contents of elements. E is of type DYNARRAY_ELEMENT *.
- DYNARRAY_ELEMENT_INIT
- DYNARRAY_ELEMENT_INIT (E) is evaluated to initialize a new
- element. E is of type DYNARRAY_ELEMENT *.
- If DYNARRAY_ELEMENT_FREE but not DYNARRAY_ELEMENT_INIT is
- defined, new elements are automatically zero-initialized.
- Otherwise, new elements have undefined contents.
- DYNARRAY_INITIAL_SIZE
- The size of the statically allocated array (default:
- at least 2, more elements if they fit into 128 bytes).
- Must be a preprocessor constant. If DYNARRAY_INITIAL_SIZE is 0,
- there is no statically allocated array at, and all non-empty
- arrays are heap-allocated.
- DYNARRAY_FINAL_TYPE
- The name of the type which holds the final array. If not
- defined, is PREFIX##finalize not provided. DYNARRAY_FINAL_TYPE
- must be a struct type, with members of type DYNARRAY_ELEMENT and
- size_t at the start (in this order).
-
- These macros are undefined after this header file has been
- included.
-
- The following types are provided (their members are private to the
- dynarray implementation):
-
- struct DYNARRAY_STRUCT
-
- The following functions are provided:
-
- void DYNARRAY_PREFIX##init (struct DYNARRAY_STRUCT *);
- void DYNARRAY_PREFIX##free (struct DYNARRAY_STRUCT *);
- bool DYNARRAY_PREFIX##has_failed (const struct DYNARRAY_STRUCT *);
- void DYNARRAY_PREFIX##mark_failed (struct DYNARRAY_STRUCT *);
- size_t DYNARRAY_PREFIX##size (const struct DYNARRAY_STRUCT *);
- DYNARRAY_ELEMENT *DYNARRAY_PREFIX##begin (const struct DYNARRAY_STRUCT *);
- DYNARRAY_ELEMENT *DYNARRAY_PREFIX##end (const struct DYNARRAY_STRUCT *);
- DYNARRAY_ELEMENT *DYNARRAY_PREFIX##at (struct DYNARRAY_STRUCT *, size_t);
- void DYNARRAY_PREFIX##add (struct DYNARRAY_STRUCT *, DYNARRAY_ELEMENT);
- DYNARRAY_ELEMENT *DYNARRAY_PREFIX##emplace (struct DYNARRAY_STRUCT *);
- bool DYNARRAY_PREFIX##resize (struct DYNARRAY_STRUCT *, size_t);
- void DYNARRAY_PREFIX##remove_last (struct DYNARRAY_STRUCT *);
- void DYNARRAY_PREFIX##clear (struct DYNARRAY_STRUCT *);
-
- The following functions are provided are provided if the
- prerequisites are met:
-
- bool DYNARRAY_PREFIX##finalize (struct DYNARRAY_STRUCT *,
- DYNARRAY_FINAL_TYPE *);
- (if DYNARRAY_FINAL_TYPE is defined)
- DYNARRAY_ELEMENT *DYNARRAY_PREFIX##finalize (struct DYNARRAY_STRUCT *,
- size_t *);
- (if DYNARRAY_FINAL_TYPE is not defined)
-*/
-
-#include <malloc/dynarray.gl.h>
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifndef DYNARRAY_STRUCT
-# error "DYNARRAY_STRUCT must be defined"
-#endif
-
-#ifndef DYNARRAY_ELEMENT
-# error "DYNARRAY_ELEMENT must be defined"
-#endif
-
-#ifndef DYNARRAY_PREFIX
-# error "DYNARRAY_PREFIX must be defined"
-#endif
-
-#ifdef DYNARRAY_INITIAL_SIZE
-# if DYNARRAY_INITIAL_SIZE < 0
-# error "DYNARRAY_INITIAL_SIZE must be non-negative"
-# endif
-# if DYNARRAY_INITIAL_SIZE > 0
-# define DYNARRAY_HAVE_SCRATCH 1
-# else
-# define DYNARRAY_HAVE_SCRATCH 0
-# endif
-#else
-/* Provide a reasonable default which limits the size of
- DYNARRAY_STRUCT. */
-# define DYNARRAY_INITIAL_SIZE \
- (sizeof (DYNARRAY_ELEMENT) > 64 ? 2 : 128 / sizeof (DYNARRAY_ELEMENT))
-# define DYNARRAY_HAVE_SCRATCH 1
-#endif
-
-/* Public type definitions. */
-
-/* All fields of this struct are private to the implementation. */
-struct DYNARRAY_STRUCT
-{
- union
- {
- struct dynarray_header dynarray_abstract;
- struct
- {
- /* These fields must match struct dynarray_header. */
- size_t used;
- size_t allocated;
- DYNARRAY_ELEMENT *array;
- } dynarray_header;
- } u;
-
-#if DYNARRAY_HAVE_SCRATCH
- /* Initial inline allocation. */
- DYNARRAY_ELEMENT scratch[DYNARRAY_INITIAL_SIZE];
-#endif
-};
-
-/* Internal use only: Helper macros. */
-
-/* Ensure macro-expansion of DYNARRAY_PREFIX. */
-#define DYNARRAY_CONCAT0(prefix, name) prefix##name
-#define DYNARRAY_CONCAT1(prefix, name) DYNARRAY_CONCAT0(prefix, name)
-#define DYNARRAY_NAME(name) DYNARRAY_CONCAT1(DYNARRAY_PREFIX, name)
-
-/* Use DYNARRAY_FREE instead of DYNARRAY_NAME (free),
- so that Gnulib does not change 'free' to 'rpl_free'. */
-#define DYNARRAY_FREE DYNARRAY_CONCAT1 (DYNARRAY_NAME (f), ree)
-
-/* Address of the scratch buffer if any. */
-#if DYNARRAY_HAVE_SCRATCH
-# define DYNARRAY_SCRATCH(list) (list)->scratch
-#else
-# define DYNARRAY_SCRATCH(list) NULL
-#endif
-
-/* Internal use only: Helper functions. */
-
-/* Internal function. Call DYNARRAY_ELEMENT_FREE with the array
- elements. Name mangling needed due to the DYNARRAY_ELEMENT_FREE
- macro expansion. */
-static inline void
-DYNARRAY_NAME (free__elements__) (DYNARRAY_ELEMENT *__dynarray_array,
- size_t __dynarray_used)
-{
-#ifdef DYNARRAY_ELEMENT_FREE
- for (size_t __dynarray_i = 0; __dynarray_i < __dynarray_used; ++__dynarray_i)
- DYNARRAY_ELEMENT_FREE (&__dynarray_array[__dynarray_i]);
-#endif /* DYNARRAY_ELEMENT_FREE */
-}
-
-/* Internal function. Free the non-scratch array allocation. */
-static inline void
-DYNARRAY_NAME (free__array__) (struct DYNARRAY_STRUCT *list)
-{
-#if DYNARRAY_HAVE_SCRATCH
- if (list->u.dynarray_header.array != list->scratch)
- free (list->u.dynarray_header.array);
-#else
- free (list->u.dynarray_header.array);
-#endif
-}
-
-/* Public functions. */
-
-/* Initialize a dynamic array object. This must be called before any
- use of the object. */
-_GL_ATTRIBUTE_NONNULL ((1))
-static void
-DYNARRAY_NAME (init) (struct DYNARRAY_STRUCT *list)
-{
- list->u.dynarray_header.used = 0;
- list->u.dynarray_header.allocated = DYNARRAY_INITIAL_SIZE;
- list->u.dynarray_header.array = DYNARRAY_SCRATCH (list);
-}
-
-/* Deallocate the dynamic array and its elements. */
-_GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_NONNULL ((1))
-static void
-DYNARRAY_FREE (struct DYNARRAY_STRUCT *list)
-{
- DYNARRAY_NAME (free__elements__)
- (list->u.dynarray_header.array, list->u.dynarray_header.used);
- DYNARRAY_NAME (free__array__) (list);
- DYNARRAY_NAME (init) (list);
-}
-
-/* Return true if the dynamic array is in an error state. */
-_GL_ATTRIBUTE_NONNULL ((1))
-static inline bool
-DYNARRAY_NAME (has_failed) (const struct DYNARRAY_STRUCT *list)
-{
- return list->u.dynarray_header.allocated == __dynarray_error_marker ();
-}
-
-/* Mark the dynamic array as failed. All elements are deallocated as
- a side effect. */
-_GL_ATTRIBUTE_NONNULL ((1))
-static void
-DYNARRAY_NAME (mark_failed) (struct DYNARRAY_STRUCT *list)
-{
- DYNARRAY_NAME (free__elements__)
- (list->u.dynarray_header.array, list->u.dynarray_header.used);
- DYNARRAY_NAME (free__array__) (list);
- list->u.dynarray_header.array = DYNARRAY_SCRATCH (list);
- list->u.dynarray_header.used = 0;
- list->u.dynarray_header.allocated = __dynarray_error_marker ();
-}
-
-/* Return the number of elements which have been added to the dynamic
- array. */
-_GL_ATTRIBUTE_NONNULL ((1))
-static inline size_t
-DYNARRAY_NAME (size) (const struct DYNARRAY_STRUCT *list)
-{
- return list->u.dynarray_header.used;
-}
-
-/* Return a pointer to the array element at INDEX. Terminate the
- process if INDEX is out of bounds. */
-_GL_ATTRIBUTE_NONNULL ((1))
-static inline DYNARRAY_ELEMENT *
-DYNARRAY_NAME (at) (struct DYNARRAY_STRUCT *list, size_t index)
-{
- if (_GL_UNLIKELY (index >= DYNARRAY_NAME (size) (list)))
- __libc_dynarray_at_failure (DYNARRAY_NAME (size) (list), index);
- return list->u.dynarray_header.array + index;
-}
-
-/* Return a pointer to the first array element, if any. For a
- zero-length array, the pointer can be NULL even though the dynamic
- array has not entered the failure state. */
-_GL_ATTRIBUTE_NONNULL ((1))
-static inline DYNARRAY_ELEMENT *
-DYNARRAY_NAME (begin) (struct DYNARRAY_STRUCT *list)
-{
- return list->u.dynarray_header.array;
-}
-
-/* Return a pointer one element past the last array element. For a
- zero-length array, the pointer can be NULL even though the dynamic
- array has not entered the failure state. */
-_GL_ATTRIBUTE_NONNULL ((1))
-static inline DYNARRAY_ELEMENT *
-DYNARRAY_NAME (end) (struct DYNARRAY_STRUCT *list)
-{
- return list->u.dynarray_header.array + list->u.dynarray_header.used;
-}
-
-/* Internal function. Slow path for the add function below. */
-static void
-DYNARRAY_NAME (add__) (struct DYNARRAY_STRUCT *list, DYNARRAY_ELEMENT item)
-{
- if (_GL_UNLIKELY
- (!__libc_dynarray_emplace_enlarge (&list->u.dynarray_abstract,
- DYNARRAY_SCRATCH (list),
- sizeof (DYNARRAY_ELEMENT))))
- {
- DYNARRAY_NAME (mark_failed) (list);
- return;
- }
-
- /* Copy the new element and increase the array length. */
- list->u.dynarray_header.array[list->u.dynarray_header.used++] = item;
-}
-
-/* Add ITEM at the end of the array, enlarging it by one element.
- Mark *LIST as failed if the dynamic array allocation size cannot be
- increased. */
-_GL_ATTRIBUTE_NONNULL ((1))
-static inline void
-DYNARRAY_NAME (add) (struct DYNARRAY_STRUCT *list, DYNARRAY_ELEMENT item)
-{
- /* Do nothing in case of previous error. */
- if (DYNARRAY_NAME (has_failed) (list))
- return;
-
- /* Enlarge the array if necessary. */
- if (_GL_UNLIKELY (list->u.dynarray_header.used
- == list->u.dynarray_header.allocated))
- {
- DYNARRAY_NAME (add__) (list, item);
- return;
- }
-
- /* Copy the new element and increase the array length. */
- list->u.dynarray_header.array[list->u.dynarray_header.used++] = item;
-}
-
-/* Internal function. Building block for the emplace functions below.
- Assumes space for one more element in *LIST. */
-static inline DYNARRAY_ELEMENT *
-DYNARRAY_NAME (emplace__tail__) (struct DYNARRAY_STRUCT *list)
-{
- DYNARRAY_ELEMENT *result
- = &list->u.dynarray_header.array[list->u.dynarray_header.used];
- ++list->u.dynarray_header.used;
-#if defined (DYNARRAY_ELEMENT_INIT)
- DYNARRAY_ELEMENT_INIT (result);
-#elif defined (DYNARRAY_ELEMENT_FREE)
- memset (result, 0, sizeof (*result));
-#endif
- return result;
-}
-
-/* Internal function. Slow path for the emplace function below. */
-static DYNARRAY_ELEMENT *
-DYNARRAY_NAME (emplace__) (struct DYNARRAY_STRUCT *list)
-{
- if (_GL_UNLIKELY
- (!__libc_dynarray_emplace_enlarge (&list->u.dynarray_abstract,
- DYNARRAY_SCRATCH (list),
- sizeof (DYNARRAY_ELEMENT))))
- {
- DYNARRAY_NAME (mark_failed) (list);
- return NULL;
- }
- return DYNARRAY_NAME (emplace__tail__) (list);
-}
-
-/* Allocate a place for a new element in *LIST and return a pointer to
- it. The pointer can be NULL if the dynamic array cannot be
- enlarged due to a memory allocation failure. */
-_GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_NODISCARD
-_GL_ATTRIBUTE_NONNULL ((1))
-static
-/* Avoid inlining with the larger initialization code. */
-#if !(defined (DYNARRAY_ELEMENT_INIT) || defined (DYNARRAY_ELEMENT_FREE))
-inline
-#endif
-DYNARRAY_ELEMENT *
-DYNARRAY_NAME (emplace) (struct DYNARRAY_STRUCT *list)
-{
- /* Do nothing in case of previous error. */
- if (DYNARRAY_NAME (has_failed) (list))
- return NULL;
-
- /* Enlarge the array if necessary. */
- if (_GL_UNLIKELY (list->u.dynarray_header.used
- == list->u.dynarray_header.allocated))
- return (DYNARRAY_NAME (emplace__) (list));
- return DYNARRAY_NAME (emplace__tail__) (list);
-}
-
-/* Change the size of *LIST to SIZE. If SIZE is larger than the
- existing size, new elements are added (which can be initialized).
- Otherwise, the list is truncated, and elements are freed. Return
- false on memory allocation failure (and mark *LIST as failed). */
-_GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_NONNULL ((1))
-static bool
-DYNARRAY_NAME (resize) (struct DYNARRAY_STRUCT *list, size_t size)
-{
- if (size > list->u.dynarray_header.used)
- {
- bool ok;
-#if defined (DYNARRAY_ELEMENT_INIT)
- /* The new elements have to be initialized. */
- size_t old_size = list->u.dynarray_header.used;
- ok = __libc_dynarray_resize (&list->u.dynarray_abstract,
- size, DYNARRAY_SCRATCH (list),
- sizeof (DYNARRAY_ELEMENT));
- if (ok)
- for (size_t i = old_size; i < size; ++i)
- {
- DYNARRAY_ELEMENT_INIT (&list->u.dynarray_header.array[i]);
- }
-#elif defined (DYNARRAY_ELEMENT_FREE)
- /* Zero initialization is needed so that the elements can be
- safely freed. */
- ok = __libc_dynarray_resize_clear
- (&list->u.dynarray_abstract, size,
- DYNARRAY_SCRATCH (list), sizeof (DYNARRAY_ELEMENT));
-#else
- ok = __libc_dynarray_resize (&list->u.dynarray_abstract,
- size, DYNARRAY_SCRATCH (list),
- sizeof (DYNARRAY_ELEMENT));
-#endif
- if (_GL_UNLIKELY (!ok))
- DYNARRAY_NAME (mark_failed) (list);
- return ok;
- }
- else
- {
- /* The list has shrunk in size. Free the removed elements. */
- DYNARRAY_NAME (free__elements__)
- (list->u.dynarray_header.array + size,
- list->u.dynarray_header.used - size);
- list->u.dynarray_header.used = size;
- return true;
- }
-}
-
-/* Remove the last element of LIST if it is present. */
-_GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_NONNULL ((1))
-static void
-DYNARRAY_NAME (remove_last) (struct DYNARRAY_STRUCT *list)
-{
- /* used > 0 implies that the array is the non-failed state. */
- if (list->u.dynarray_header.used > 0)
- {
- size_t new_length = list->u.dynarray_header.used - 1;
-#ifdef DYNARRAY_ELEMENT_FREE
- DYNARRAY_ELEMENT_FREE (&list->u.dynarray_header.array[new_length]);
-#endif
- list->u.dynarray_header.used = new_length;
- }
-}
-
-/* Remove all elements from the list. The elements are freed, but the
- list itself is not. */
-_GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_NONNULL ((1))
-static void
-DYNARRAY_NAME (clear) (struct DYNARRAY_STRUCT *list)
-{
- /* free__elements__ does nothing if the list is in the failed
- state. */
- DYNARRAY_NAME (free__elements__)
- (list->u.dynarray_header.array, list->u.dynarray_header.used);
- list->u.dynarray_header.used = 0;
-}
-
-#ifdef DYNARRAY_FINAL_TYPE
-/* Transfer the dynamic array to a permanent location at *RESULT.
- Returns true on success on false on allocation failure. In either
- case, *LIST is re-initialized and can be reused. A NULL pointer is
- stored in *RESULT if LIST refers to an empty list. On success, the
- pointer in *RESULT is heap-allocated and must be deallocated using
- free. */
-_GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_NODISCARD
-_GL_ATTRIBUTE_NONNULL ((1, 2))
-static bool
-DYNARRAY_NAME (finalize) (struct DYNARRAY_STRUCT *list,
- DYNARRAY_FINAL_TYPE *result)
-{
- struct dynarray_finalize_result res;
- if (__libc_dynarray_finalize (&list->u.dynarray_abstract,
- DYNARRAY_SCRATCH (list),
- sizeof (DYNARRAY_ELEMENT), &res))
- {
- /* On success, the result owns all the data. */
- DYNARRAY_NAME (init) (list);
- *result = (DYNARRAY_FINAL_TYPE) { res.array, res.length };
- return true;
- }
- else
- {
- /* On error, we need to free all data. */
- DYNARRAY_FREE (list);
- errno = ENOMEM;
- return false;
- }
-}
-#else /* !DYNARRAY_FINAL_TYPE */
-/* Transfer the dynamic array to a heap-allocated array and return a
- pointer to it. The pointer is NULL if memory allocation fails, or
- if the array is empty, so this function should be used only for
- arrays which are known not be empty (usually because they always
- have a sentinel at the end). If LENGTHP is not NULL, the array
- length is written to *LENGTHP. *LIST is re-initialized and can be
- reused. */
-_GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_NODISCARD
-_GL_ATTRIBUTE_NONNULL ((1))
-static DYNARRAY_ELEMENT *
-DYNARRAY_NAME (finalize) (struct DYNARRAY_STRUCT *list, size_t *lengthp)
-{
- struct dynarray_finalize_result res;
- if (__libc_dynarray_finalize (&list->u.dynarray_abstract,
- DYNARRAY_SCRATCH (list),
- sizeof (DYNARRAY_ELEMENT), &res))
- {
- /* On success, the result owns all the data. */
- DYNARRAY_NAME (init) (list);
- if (lengthp != NULL)
- *lengthp = res.length;
- return res.array;
- }
- else
- {
- /* On error, we need to free all data. */
- DYNARRAY_FREE (list);
- errno = ENOMEM;
- return NULL;
- }
-}
-#endif /* !DYNARRAY_FINAL_TYPE */
-
-/* Undo macro definitions. */
-
-#undef DYNARRAY_CONCAT0
-#undef DYNARRAY_CONCAT1
-#undef DYNARRAY_NAME
-#undef DYNARRAY_SCRATCH
-#undef DYNARRAY_HAVE_SCRATCH
-
-#undef DYNARRAY_STRUCT
-#undef DYNARRAY_ELEMENT
-#undef DYNARRAY_PREFIX
-#undef DYNARRAY_ELEMENT_FREE
-#undef DYNARRAY_ELEMENT_INIT
-#undef DYNARRAY_INITIAL_SIZE
-#undef DYNARRAY_FINAL_TYPE
diff --git a/lib/malloc/dynarray.gl.h b/lib/malloc/dynarray.gl.h
deleted file mode 100644
index 8227362bb..000000000
--- a/lib/malloc/dynarray.gl.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Type-safe arrays which grow dynamically. Shared definitions.
- Copyright (C) 2017-2021 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-/* To use the dynarray facility, you need to include
- <malloc/dynarray-skeleton.c> and define the parameter macros
- documented in that file.
-
- A minimal example which provides a growing list of integers can be
- defined like this:
-
- struct int_array
- {
- // Pointer to result array followed by its length,
- // as required by DYNARRAY_FINAL_TYPE.
- int *array;
- size_t length;
- };
-
- #define DYNARRAY_STRUCT dynarray_int
- #define DYNARRAY_ELEMENT int
- #define DYNARRAY_PREFIX dynarray_int_
- #define DYNARRAY_FINAL_TYPE struct int_array
- #include <malloc/dynarray-skeleton.c>
-
- To create a three-element array with elements 1, 2, 3, use this
- code:
-
- struct dynarray_int dyn;
- dynarray_int_init (&dyn);
- for (int i = 1; i <= 3; ++i)
- {
- int *place = dynarray_int_emplace (&dyn);
- assert (place != NULL);
- *place = i;
- }
- struct int_array result;
- bool ok = dynarray_int_finalize (&dyn, &result);
- assert (ok);
- assert (result.length == 3);
- assert (result.array[0] == 1);
- assert (result.array[1] == 2);
- assert (result.array[2] == 3);
- free (result.array);
-
- If the elements contain resources which must be freed, define
- DYNARRAY_ELEMENT_FREE appropriately, like this:
-
- struct str_array
- {
- char **array;
- size_t length;
- };
-
- #define DYNARRAY_STRUCT dynarray_str
- #define DYNARRAY_ELEMENT char *
- #define DYNARRAY_ELEMENT_FREE(ptr) free (*ptr)
- #define DYNARRAY_PREFIX dynarray_str_
- #define DYNARRAY_FINAL_TYPE struct str_array
- #include <malloc/dynarray-skeleton.c>
-
- Compared to scratch buffers, dynamic arrays have the following
- features:
-
- - They have an element type, and are not just an untyped buffer of
- bytes.
-
- - When growing, previously stored elements are preserved. (It is
- expected that scratch_buffer_grow_preserve and
- scratch_buffer_set_array_size eventually go away because all
- current users are moved to dynamic arrays.)
-
- - Scratch buffers have a more aggressive growth policy because
- growing them typically means a retry of an operation (across an
- NSS service module boundary), which is expensive.
-
- - For the same reason, scratch buffers have a much larger initial
- stack allocation. */
-
-#ifndef _DYNARRAY_H
-#define _DYNARRAY_H
-
-#include <stdbool.h>
-#include <stddef.h>
-#include <string.h>
-
-struct dynarray_header
-{
- size_t used;
- size_t allocated;
- void *array;
-};
-
-/* Marker used in the allocated member to indicate that an error was
- encountered. */
-static inline size_t
-__dynarray_error_marker (void)
-{
- return -1;
-}
-
-/* Internal function. See the has_failed function in
- dynarray-skeleton.c. */
-static inline bool
-__dynarray_error (struct dynarray_header *list)
-{
- return list->allocated == __dynarray_error_marker ();
-}
-
-/* Internal function. Enlarge the dynamically allocated area of the
- array to make room for one more element. SCRATCH is a pointer to
- the scratch area (which is not heap-allocated and must not be
- freed). ELEMENT_SIZE is the size, in bytes, of one element.
- Return false on failure, true on success. */
-bool __libc_dynarray_emplace_enlarge (struct dynarray_header *,
- void *scratch, size_t element_size);
-
-/* Internal function. Enlarge the dynamically allocated area of the
- array to make room for at least SIZE elements (which must be larger
- than the existing used part of the dynamic array). SCRATCH is a
- pointer to the scratch area (which is not heap-allocated and must
- not be freed). ELEMENT_SIZE is the size, in bytes, of one element.
- Return false on failure, true on success. */
-bool __libc_dynarray_resize (struct dynarray_header *, size_t size,
- void *scratch, size_t element_size);
-
-/* Internal function. Like __libc_dynarray_resize, but clear the new
- part of the dynamic array. */
-bool __libc_dynarray_resize_clear (struct dynarray_header *, size_t size,
- void *scratch, size_t element_size);
-
-/* Internal type. */
-struct dynarray_finalize_result
-{
- void *array;
- size_t length;
-};
-
-/* Internal function. Copy the dynamically-allocated area to an
- explicitly-sized heap allocation. SCRATCH is a pointer to the
- embedded scratch space. ELEMENT_SIZE is the size, in bytes, of the
- element type. On success, true is returned, and pointer and length
- are written to *RESULT. On failure, false is returned. The caller
- has to take care of some of the memory management; this function is
- expected to be called from dynarray-skeleton.c. */
-bool __libc_dynarray_finalize (struct dynarray_header *list, void *scratch,
- size_t element_size,
- struct dynarray_finalize_result *result);
-
-
-/* Internal function. Terminate the process after an index error.
- SIZE is the number of elements of the dynamic array. INDEX is the
- lookup index which triggered the failure. */
-_Noreturn void __libc_dynarray_at_failure (size_t size, size_t index);
-
-#ifndef _ISOMAC
-#endif
-
-#endif /* _DYNARRAY_H */
diff --git a/lib/sched.h b/lib/sched.h
deleted file mode 100644
index 223718750..000000000
--- a/lib/sched.h
+++ /dev/null
@@ -1,580 +0,0 @@
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* A GNU-like <sched.h>.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _GL_SCHED_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-
-/* The include_next requires a split double-inclusion guard. */
-#if 1
-# if 1
-# include <sys/cdefs.h>
-# endif
-# include_next <sched.h>
-#endif
-
-#ifndef _GL_SCHED_H
-#define _GL_SCHED_H
-
-/* Get pid_t.
- This is needed on glibc 2.11 (see
- glibc bug <https://sourceware.org/bugzilla/show_bug.cgi?id=13198>)
- and Mac OS X 10.5. */
-#include <sys/types.h>
-
-#ifdef __KLIBC__
-/* On OS/2 kLIBC, struct sched_param is in spawn.h. */
-# include <spawn.h>
-#endif
-
-#ifdef __VMS
-/* On OpenVMS, struct sched_param is in <pthread.h>. */
-# include <pthread.h>
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
-/* C++ compatible function declaration macros.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _GL_CXXDEFS_H
-#define _GL_CXXDEFS_H
-
-/* Begin/end the GNULIB_NAMESPACE namespace. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_BEGIN_NAMESPACE namespace GNULIB_NAMESPACE {
-# define _GL_END_NAMESPACE }
-#else
-# define _GL_BEGIN_NAMESPACE
-# define _GL_END_NAMESPACE
-#endif
-
-/* The three most frequent use cases of these macros are:
-
- * For providing a substitute for a function that is missing on some
- platforms, but is declared and works fine on the platforms on which
- it exists:
-
- #if @GNULIB_FOO@
- # if !@HAVE_FOO@
- _GL_FUNCDECL_SYS (foo, ...);
- # endif
- _GL_CXXALIAS_SYS (foo, ...);
- _GL_CXXALIASWARN (foo);
- #elif defined GNULIB_POSIXCHECK
- ...
- #endif
-
- * For providing a replacement for a function that exists on all platforms,
- but is broken/insufficient and needs to be replaced on some platforms:
-
- #if @GNULIB_FOO@
- # if @REPLACE_FOO@
- # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
- # undef foo
- # define foo rpl_foo
- # endif
- _GL_FUNCDECL_RPL (foo, ...);
- _GL_CXXALIAS_RPL (foo, ...);
- # else
- _GL_CXXALIAS_SYS (foo, ...);
- # endif
- _GL_CXXALIASWARN (foo);
- #elif defined GNULIB_POSIXCHECK
- ...
- #endif
-
- * For providing a replacement for a function that exists on some platforms
- but is broken/insufficient and needs to be replaced on some of them and
- is additionally either missing or undeclared on some other platforms:
-
- #if @GNULIB_FOO@
- # if @REPLACE_FOO@
- # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
- # undef foo
- # define foo rpl_foo
- # endif
- _GL_FUNCDECL_RPL (foo, ...);
- _GL_CXXALIAS_RPL (foo, ...);
- # else
- # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@
- _GL_FUNCDECL_SYS (foo, ...);
- # endif
- _GL_CXXALIAS_SYS (foo, ...);
- # endif
- _GL_CXXALIASWARN (foo);
- #elif defined GNULIB_POSIXCHECK
- ...
- #endif
-*/
-
-/* _GL_EXTERN_C declaration;
- performs the declaration with C linkage. */
-#if defined __cplusplus
-# define _GL_EXTERN_C extern "C"
-#else
-# define _GL_EXTERN_C extern
-#endif
-
-/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
- declares a replacement function, named rpl_func, with the given prototype,
- consisting of return type, parameters, and attributes.
- Example:
- _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
- _GL_ARG_NONNULL ((1)));
- */
-#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
- _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
-#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
- _GL_EXTERN_C rettype rpl_func parameters_and_attributes
-
-/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
- declares the system function, named func, with the given prototype,
- consisting of return type, parameters, and attributes.
- Example:
- _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
- _GL_ARG_NONNULL ((1)));
- */
-#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
- _GL_EXTERN_C rettype func parameters_and_attributes
-
-/* _GL_CXXALIAS_RPL (func, rettype, parameters);
- declares a C++ alias called GNULIB_NAMESPACE::func
- that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
- Example:
- _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
-
- Wrapping rpl_func in an object with an inline conversion operator
- avoids a reference to rpl_func unless GNULIB_NAMESPACE::func is
- actually used in the program. */
-#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return ::rpl_func; \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_MDA (func, rettype, parameters);
- is to be used when func is a Microsoft deprecated alias, on native Windows.
- It declares a C++ alias called GNULIB_NAMESPACE::func
- that redirects to _func, if GNULIB_NAMESPACE is defined.
- Example:
- _GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
- */
-#define _GL_CXXALIAS_MDA(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_1 (func, _##func, rettype, parameters)
-
-/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
- is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
- except that the C function rpl_func may have a slightly different
- declaration. A cast is used to silence the "invalid conversion" error
- that would otherwise occur. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>(::rpl_func); \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_MDA_CAST (func, rettype, parameters);
- is like _GL_CXXALIAS_MDA (func, rettype, parameters);
- except that the C function func may have a slightly different declaration.
- A cast is used to silence the "invalid conversion" error that would
- otherwise occur. */
-#define _GL_CXXALIAS_MDA_CAST(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_CAST_1 (func, _##func, rettype, parameters)
-
-/* _GL_CXXALIAS_SYS (func, rettype, parameters);
- declares a C++ alias called GNULIB_NAMESPACE::func
- that redirects to the system provided function func, if GNULIB_NAMESPACE
- is defined.
- Example:
- _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
-
- Wrapping func in an object with an inline conversion operator
- avoids a reference to func unless GNULIB_NAMESPACE::func is
- actually used in the program. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return ::func; \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
- is like _GL_CXXALIAS_SYS (func, rettype, parameters);
- except that the C function func may have a slightly different declaration.
- A cast is used to silence the "invalid conversion" error that would
- otherwise occur. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>(::func); \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
- is like _GL_CXXALIAS_SYS (func, rettype, parameters);
- except that the C function is picked among a set of overloaded functions,
- namely the one with rettype2 and parameters2. Two consecutive casts
- are used to silence the "cannot find a match" and "invalid conversion"
- errors that would otherwise occur. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
- /* The outer cast must be a reinterpret_cast.
- The inner cast: When the function is defined as a set of overloaded
- functions, it works as a static_cast<>, choosing the designated variant.
- When the function is defined as a single variant, it works as a
- reinterpret_cast<>. The parenthesized cast syntax works both ways. */
-# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>((rettype2 (*) parameters2)(::func)); \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIASWARN (func);
- causes a warning to be emitted when ::func is used but not when
- GNULIB_NAMESPACE::func is used. func must be defined without overloaded
- variants. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIASWARN(func) \
- _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
-# define _GL_CXXALIASWARN_1(func,namespace) \
- _GL_CXXALIASWARN_2 (func, namespace)
-/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
- we enable the warning only when not optimizing. */
-# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
-# define _GL_CXXALIASWARN_2(func,namespace) \
- _GL_WARN_ON_USE (func, \
- "The symbol ::" #func " refers to the system function. " \
- "Use " #namespace "::" #func " instead.")
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-# define _GL_CXXALIASWARN_2(func,namespace) \
- extern __typeof__ (func) func
-# else
-# define _GL_CXXALIASWARN_2(func,namespace) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-# endif
-#else
-# define _GL_CXXALIASWARN(func) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
- causes a warning to be emitted when the given overloaded variant of ::func
- is used but not when GNULIB_NAMESPACE::func is used. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
- _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
- GNULIB_NAMESPACE)
-# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
- _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
-/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
- we enable the warning only when not optimizing. */
-# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
-# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
- _GL_WARN_ON_USE_CXX (func, rettype, rettype, parameters_and_attributes, \
- "The symbol ::" #func " refers to the system function. " \
- "Use " #namespace "::" #func " instead.")
-# else
-# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-# endif
-#else
-# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-#endif /* _GL_CXXDEFS_H */
-
-/* The definition of _GL_WARN_ON_USE is copied here. */
-/* A C macro for emitting warnings if a function is used.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
- for FUNCTION which will then trigger a compiler warning containing
- the text of "literal string" anywhere that function is called, if
- supported by the compiler. If the compiler does not support this
- feature, the macro expands to an unused extern declaration.
-
- _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the
- attribute used in _GL_WARN_ON_USE. If the compiler does not support
- this feature, it expands to empty.
-
- These macros are useful for marking a function as a potential
- portability trap, with the intent that "literal string" include
- instructions on the replacement function that should be used
- instead.
- _GL_WARN_ON_USE is for functions with 'extern' linkage.
- _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
- linkage.
-
- However, one of the reasons that a function is a portability trap is
- if it has the wrong signature. Declaring FUNCTION with a different
- signature in C is a compilation error, so this macro must use the
- same type as any existing declaration so that programs that avoid
- the problematic FUNCTION do not fail to compile merely because they
- included a header that poisoned the function. But this implies that
- _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already
- have a declaration. Use of this macro implies that there must not
- be any other macro hiding the declaration of FUNCTION; but
- undefining FUNCTION first is part of the poisoning process anyway
- (although for symbols that are provided only via a macro, the result
- is a compilation error rather than a warning containing
- "literal string"). Also note that in C++, it is only safe to use if
- FUNCTION has no overloads.
-
- For an example, it is possible to poison 'getline' by:
- - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
- [getline]) in configure.ac, which potentially defines
- HAVE_RAW_DECL_GETLINE
- - adding this code to a header that wraps the system <stdio.h>:
- #undef getline
- #if HAVE_RAW_DECL_GETLINE
- _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
- "not universally present; use the gnulib module getline");
- #endif
-
- It is not possible to directly poison global variables. But it is
- possible to write a wrapper accessor function, and poison that
- (less common usage, like &environ, will cause a compilation error
- rather than issue the nice warning, but the end result of informing
- the developer about their portability problem is still achieved):
- #if HAVE_RAW_DECL_ENVIRON
- static char ***
- rpl_environ (void) { return &environ; }
- _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
- # undef environ
- # define environ (*rpl_environ ())
- #endif
- or better (avoiding contradictory use of 'static' and 'extern'):
- #if HAVE_RAW_DECL_ENVIRON
- static char ***
- _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared")
- rpl_environ (void) { return &environ; }
- # undef environ
- # define environ (*rpl_environ ())
- #endif
- */
-#ifndef _GL_WARN_ON_USE
-
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-/* A compiler attribute is available in gcc versions 4.3.0 and later. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C __typeof__ (function) function __attribute__ ((__warning__ (message)))
-# define _GL_WARN_ON_USE_ATTRIBUTE(message) \
- __attribute__ ((__warning__ (message)))
-# elif __clang_major__ >= 4
-/* Another compiler attribute is available in clang. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C __typeof__ (function) function \
- __attribute__ ((__diagnose_if__ (1, message, "warning")))
-# define _GL_WARN_ON_USE_ATTRIBUTE(message) \
- __attribute__ ((__diagnose_if__ (1, message, "warning")))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-/* Verify the existence of the function. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C __typeof__ (function) function
-# define _GL_WARN_ON_USE_ATTRIBUTE(message)
-# else /* Unsupported. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C int _gl_warn_on_use
-# define _GL_WARN_ON_USE_ATTRIBUTE(message)
-# endif
-#endif
-
-/* _GL_WARN_ON_USE_CXX (function, rettype_gcc, rettype_clang, parameters_and_attributes, "message")
- is like _GL_WARN_ON_USE (function, "message"), except that in C++ mode the
- function is declared with the given prototype, consisting of return type,
- parameters, and attributes.
- This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
- not work in this case. */
-#ifndef _GL_WARN_ON_USE_CXX
-# if !defined __cplusplus
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
- _GL_WARN_ON_USE (function, msg)
-# else
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-/* A compiler attribute is available in gcc versions 4.3.0 and later. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_gcc function parameters_and_attributes \
- __attribute__ ((__warning__ (msg)))
-# elif __clang_major__ >= 4
-/* Another compiler attribute is available in clang. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_clang function parameters_and_attributes \
- __attribute__ ((__diagnose_if__ (1, msg, "warning")))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-/* Verify the existence of the function. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_gcc function parameters_and_attributes
-# else /* Unsupported. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-_GL_WARN_EXTERN_C int _gl_warn_on_use
-# endif
-# endif
-#endif
-
-/* _GL_WARN_EXTERN_C declaration;
- performs the declaration with C linkage. */
-#ifndef _GL_WARN_EXTERN_C
-# if defined __cplusplus
-# define _GL_WARN_EXTERN_C extern "C"
-# else
-# define _GL_WARN_EXTERN_C extern
-# endif
-#endif
-
-#if !1
-
-# if !GNULIB_defined_struct_sched_param
-struct sched_param
-{
- int sched_priority;
-};
-# define GNULIB_defined_struct_sched_param 1
-# endif
-
-#endif
-
-#if !(defined SCHED_FIFO && defined SCHED_RR && defined SCHED_OTHER)
-# define SCHED_FIFO 1
-# define SCHED_RR 2
-# define SCHED_OTHER 0
-#endif
-
-#if 0
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef sched_yield
-# define sched_yield rpl_sched_yield
-# endif
-_GL_FUNCDECL_RPL (sched_yield, int, (void));
-_GL_CXXALIAS_RPL (sched_yield, int, (void));
-# else
-# if !1
-_GL_FUNCDECL_SYS (sched_yield, int, (void));
-# endif
-_GL_CXXALIAS_SYS (sched_yield, int, (void));
-# endif
-# if __GLIBC__ >= 2
-_GL_CXXALIASWARN (sched_yield);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef sched_yield
-# if HAVE_RAW_DECL_SCHED_YIELD
-_GL_WARN_ON_USE (sched_yield, "sched_yield is not portable - "
- "use gnulib module sched_yield for portability");
-# endif
-#endif
-
-#endif /* _GL_SCHED_H */
-#endif /* _GL_SCHED_H */
diff --git a/lib/spawn.h b/lib/spawn.h
deleted file mode 100644
index c0757d3e4..000000000
--- a/lib/spawn.h
+++ /dev/null
@@ -1,1499 +0,0 @@
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Definitions for POSIX spawn interface.
- Copyright (C) 2000, 2003-2004, 2008-2022 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-
-#if defined _GL_ALREADY_INCLUDING_SPAWN_H
-/* Special invocation convention:
- On OS/2 kLIBC, <spawn.h> includes <signal.h>. Then <signal.h> ->
- <pthread.h> -> <sched.h> -> <spawn.h> are included by GNULIB.
- In this situation, struct sched_param is not yet defined. */
-
-#include_next <spawn.h>
-
-#else
-
-#ifndef _GL_SPAWN_H
-/* Normal invocation convention. */
-
-/* The include_next requires a split double-inclusion guard. */
-#if 1
-
-# define _GL_ALREADY_INCLUDING_SPAWN_H
-
-# include_next <spawn.h>
-
-# define _GL_ALREADY_INCLUDING_SPAWN_H
-
-#endif
-
-#ifndef _GL_SPAWN_H
-#define _GL_SPAWN_H
-
-/* Get definitions of 'struct sched_param' and 'sigset_t'.
- But avoid namespace pollution on glibc systems. */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <sched.h>
-# include <signal.h>
-#endif
-
-#include <sys/types.h>
-
-#ifndef __THROW
-# define __THROW
-#endif
-
-/* For plain 'restrict', use glibc's __restrict if defined.
- Otherwise, GCC 2.95 and later have "__restrict"; C99 compilers have
- "restrict", and "configure" may have defined "restrict".
- Other compilers use __restrict, __restrict__, and _Restrict, and
- 'configure' might #define 'restrict' to those words, so pick a
- different name. */
-#ifndef _Restrict_
-# if defined __restrict \
- || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) \
- || __clang_major__ >= 3
-# define _Restrict_ __restrict
-# elif 199901L <= __STDC_VERSION__ || defined restrict
-# define _Restrict_ restrict
-# else
-# define _Restrict_
-# endif
-#endif
-/* For the ISO C99 syntax
- array_name[restrict]
- use glibc's __restrict_arr if available.
- Otherwise, GCC 3.1 and clang support this syntax (but not in C++ mode).
- Other ISO C99 compilers support it as well. */
-#ifndef _Restrict_arr_
-# ifdef __restrict_arr
-# define _Restrict_arr_ __restrict_arr
-# elif ((199901L <= __STDC_VERSION__ \
- || 3 < __GNUC__ + (1 <= __GNUC_MINOR__) \
- || __clang_major__ >= 3) \
- && !defined __cplusplus)
-# define _Restrict_arr_ _Restrict_
-# else
-# define _Restrict_arr_
-# endif
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
-/* C++ compatible function declaration macros.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _GL_CXXDEFS_H
-#define _GL_CXXDEFS_H
-
-/* Begin/end the GNULIB_NAMESPACE namespace. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_BEGIN_NAMESPACE namespace GNULIB_NAMESPACE {
-# define _GL_END_NAMESPACE }
-#else
-# define _GL_BEGIN_NAMESPACE
-# define _GL_END_NAMESPACE
-#endif
-
-/* The three most frequent use cases of these macros are:
-
- * For providing a substitute for a function that is missing on some
- platforms, but is declared and works fine on the platforms on which
- it exists:
-
- #if @GNULIB_FOO@
- # if !@HAVE_FOO@
- _GL_FUNCDECL_SYS (foo, ...);
- # endif
- _GL_CXXALIAS_SYS (foo, ...);
- _GL_CXXALIASWARN (foo);
- #elif defined GNULIB_POSIXCHECK
- ...
- #endif
-
- * For providing a replacement for a function that exists on all platforms,
- but is broken/insufficient and needs to be replaced on some platforms:
-
- #if @GNULIB_FOO@
- # if @REPLACE_FOO@
- # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
- # undef foo
- # define foo rpl_foo
- # endif
- _GL_FUNCDECL_RPL (foo, ...);
- _GL_CXXALIAS_RPL (foo, ...);
- # else
- _GL_CXXALIAS_SYS (foo, ...);
- # endif
- _GL_CXXALIASWARN (foo);
- #elif defined GNULIB_POSIXCHECK
- ...
- #endif
-
- * For providing a replacement for a function that exists on some platforms
- but is broken/insufficient and needs to be replaced on some of them and
- is additionally either missing or undeclared on some other platforms:
-
- #if @GNULIB_FOO@
- # if @REPLACE_FOO@
- # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
- # undef foo
- # define foo rpl_foo
- # endif
- _GL_FUNCDECL_RPL (foo, ...);
- _GL_CXXALIAS_RPL (foo, ...);
- # else
- # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@
- _GL_FUNCDECL_SYS (foo, ...);
- # endif
- _GL_CXXALIAS_SYS (foo, ...);
- # endif
- _GL_CXXALIASWARN (foo);
- #elif defined GNULIB_POSIXCHECK
- ...
- #endif
-*/
-
-/* _GL_EXTERN_C declaration;
- performs the declaration with C linkage. */
-#if defined __cplusplus
-# define _GL_EXTERN_C extern "C"
-#else
-# define _GL_EXTERN_C extern
-#endif
-
-/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
- declares a replacement function, named rpl_func, with the given prototype,
- consisting of return type, parameters, and attributes.
- Example:
- _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
- _GL_ARG_NONNULL ((1)));
- */
-#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
- _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
-#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
- _GL_EXTERN_C rettype rpl_func parameters_and_attributes
-
-/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
- declares the system function, named func, with the given prototype,
- consisting of return type, parameters, and attributes.
- Example:
- _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
- _GL_ARG_NONNULL ((1)));
- */
-#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
- _GL_EXTERN_C rettype func parameters_and_attributes
-
-/* _GL_CXXALIAS_RPL (func, rettype, parameters);
- declares a C++ alias called GNULIB_NAMESPACE::func
- that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
- Example:
- _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
-
- Wrapping rpl_func in an object with an inline conversion operator
- avoids a reference to rpl_func unless GNULIB_NAMESPACE::func is
- actually used in the program. */
-#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return ::rpl_func; \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_MDA (func, rettype, parameters);
- is to be used when func is a Microsoft deprecated alias, on native Windows.
- It declares a C++ alias called GNULIB_NAMESPACE::func
- that redirects to _func, if GNULIB_NAMESPACE is defined.
- Example:
- _GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
- */
-#define _GL_CXXALIAS_MDA(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_1 (func, _##func, rettype, parameters)
-
-/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
- is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
- except that the C function rpl_func may have a slightly different
- declaration. A cast is used to silence the "invalid conversion" error
- that would otherwise occur. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>(::rpl_func); \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_MDA_CAST (func, rettype, parameters);
- is like _GL_CXXALIAS_MDA (func, rettype, parameters);
- except that the C function func may have a slightly different declaration.
- A cast is used to silence the "invalid conversion" error that would
- otherwise occur. */
-#define _GL_CXXALIAS_MDA_CAST(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_CAST_1 (func, _##func, rettype, parameters)
-
-/* _GL_CXXALIAS_SYS (func, rettype, parameters);
- declares a C++ alias called GNULIB_NAMESPACE::func
- that redirects to the system provided function func, if GNULIB_NAMESPACE
- is defined.
- Example:
- _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
-
- Wrapping func in an object with an inline conversion operator
- avoids a reference to func unless GNULIB_NAMESPACE::func is
- actually used in the program. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return ::func; \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
- is like _GL_CXXALIAS_SYS (func, rettype, parameters);
- except that the C function func may have a slightly different declaration.
- A cast is used to silence the "invalid conversion" error that would
- otherwise occur. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>(::func); \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
- is like _GL_CXXALIAS_SYS (func, rettype, parameters);
- except that the C function is picked among a set of overloaded functions,
- namely the one with rettype2 and parameters2. Two consecutive casts
- are used to silence the "cannot find a match" and "invalid conversion"
- errors that would otherwise occur. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
- /* The outer cast must be a reinterpret_cast.
- The inner cast: When the function is defined as a set of overloaded
- functions, it works as a static_cast<>, choosing the designated variant.
- When the function is defined as a single variant, it works as a
- reinterpret_cast<>. The parenthesized cast syntax works both ways. */
-# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>((rettype2 (*) parameters2)(::func)); \
- } \
- } func = {}; \
- } \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#else
-# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIASWARN (func);
- causes a warning to be emitted when ::func is used but not when
- GNULIB_NAMESPACE::func is used. func must be defined without overloaded
- variants. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIASWARN(func) \
- _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
-# define _GL_CXXALIASWARN_1(func,namespace) \
- _GL_CXXALIASWARN_2 (func, namespace)
-/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
- we enable the warning only when not optimizing. */
-# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
-# define _GL_CXXALIASWARN_2(func,namespace) \
- _GL_WARN_ON_USE (func, \
- "The symbol ::" #func " refers to the system function. " \
- "Use " #namespace "::" #func " instead.")
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-# define _GL_CXXALIASWARN_2(func,namespace) \
- extern __typeof__ (func) func
-# else
-# define _GL_CXXALIASWARN_2(func,namespace) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-# endif
-#else
-# define _GL_CXXALIASWARN(func) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
- causes a warning to be emitted when the given overloaded variant of ::func
- is used but not when GNULIB_NAMESPACE::func is used. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
- _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
- GNULIB_NAMESPACE)
-# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
- _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
-/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
- we enable the warning only when not optimizing. */
-# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
-# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
- _GL_WARN_ON_USE_CXX (func, rettype, rettype, parameters_and_attributes, \
- "The symbol ::" #func " refers to the system function. " \
- "Use " #namespace "::" #func " instead.")
-# else
-# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-# endif
-#else
-# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
- _GL_EXTERN_C int _gl_cxxalias_dummy
-#endif
-
-#endif /* _GL_CXXDEFS_H */
-
-/* The definition of _GL_ARG_NONNULL is copied here. */
-/* A C macro for declaring that specific arguments must not be NULL.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
- that the values passed as arguments n, ..., m must be non-NULL pointers.
- n = 1 stands for the first argument, n = 2 for the second argument etc. */
-#ifndef _GL_ARG_NONNULL
-# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || defined __clang__
-# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
-# else
-# define _GL_ARG_NONNULL(params)
-# endif
-#endif
-
-/* The definition of _GL_WARN_ON_USE is copied here. */
-/* A C macro for emitting warnings if a function is used.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
- for FUNCTION which will then trigger a compiler warning containing
- the text of "literal string" anywhere that function is called, if
- supported by the compiler. If the compiler does not support this
- feature, the macro expands to an unused extern declaration.
-
- _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the
- attribute used in _GL_WARN_ON_USE. If the compiler does not support
- this feature, it expands to empty.
-
- These macros are useful for marking a function as a potential
- portability trap, with the intent that "literal string" include
- instructions on the replacement function that should be used
- instead.
- _GL_WARN_ON_USE is for functions with 'extern' linkage.
- _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
- linkage.
-
- However, one of the reasons that a function is a portability trap is
- if it has the wrong signature. Declaring FUNCTION with a different
- signature in C is a compilation error, so this macro must use the
- same type as any existing declaration so that programs that avoid
- the problematic FUNCTION do not fail to compile merely because they
- included a header that poisoned the function. But this implies that
- _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already
- have a declaration. Use of this macro implies that there must not
- be any other macro hiding the declaration of FUNCTION; but
- undefining FUNCTION first is part of the poisoning process anyway
- (although for symbols that are provided only via a macro, the result
- is a compilation error rather than a warning containing
- "literal string"). Also note that in C++, it is only safe to use if
- FUNCTION has no overloads.
-
- For an example, it is possible to poison 'getline' by:
- - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
- [getline]) in configure.ac, which potentially defines
- HAVE_RAW_DECL_GETLINE
- - adding this code to a header that wraps the system <stdio.h>:
- #undef getline
- #if HAVE_RAW_DECL_GETLINE
- _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
- "not universally present; use the gnulib module getline");
- #endif
-
- It is not possible to directly poison global variables. But it is
- possible to write a wrapper accessor function, and poison that
- (less common usage, like &environ, will cause a compilation error
- rather than issue the nice warning, but the end result of informing
- the developer about their portability problem is still achieved):
- #if HAVE_RAW_DECL_ENVIRON
- static char ***
- rpl_environ (void) { return &environ; }
- _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
- # undef environ
- # define environ (*rpl_environ ())
- #endif
- or better (avoiding contradictory use of 'static' and 'extern'):
- #if HAVE_RAW_DECL_ENVIRON
- static char ***
- _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared")
- rpl_environ (void) { return &environ; }
- # undef environ
- # define environ (*rpl_environ ())
- #endif
- */
-#ifndef _GL_WARN_ON_USE
-
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-/* A compiler attribute is available in gcc versions 4.3.0 and later. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C __typeof__ (function) function __attribute__ ((__warning__ (message)))
-# define _GL_WARN_ON_USE_ATTRIBUTE(message) \
- __attribute__ ((__warning__ (message)))
-# elif __clang_major__ >= 4
-/* Another compiler attribute is available in clang. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C __typeof__ (function) function \
- __attribute__ ((__diagnose_if__ (1, message, "warning")))
-# define _GL_WARN_ON_USE_ATTRIBUTE(message) \
- __attribute__ ((__diagnose_if__ (1, message, "warning")))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-/* Verify the existence of the function. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C __typeof__ (function) function
-# define _GL_WARN_ON_USE_ATTRIBUTE(message)
-# else /* Unsupported. */
-# define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C int _gl_warn_on_use
-# define _GL_WARN_ON_USE_ATTRIBUTE(message)
-# endif
-#endif
-
-/* _GL_WARN_ON_USE_CXX (function, rettype_gcc, rettype_clang, parameters_and_attributes, "message")
- is like _GL_WARN_ON_USE (function, "message"), except that in C++ mode the
- function is declared with the given prototype, consisting of return type,
- parameters, and attributes.
- This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
- not work in this case. */
-#ifndef _GL_WARN_ON_USE_CXX
-# if !defined __cplusplus
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
- _GL_WARN_ON_USE (function, msg)
-# else
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-/* A compiler attribute is available in gcc versions 4.3.0 and later. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_gcc function parameters_and_attributes \
- __attribute__ ((__warning__ (msg)))
-# elif __clang_major__ >= 4
-/* Another compiler attribute is available in clang. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_clang function parameters_and_attributes \
- __attribute__ ((__diagnose_if__ (1, msg, "warning")))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-/* Verify the existence of the function. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_gcc function parameters_and_attributes
-# else /* Unsupported. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-_GL_WARN_EXTERN_C int _gl_warn_on_use
-# endif
-# endif
-#endif
-
-/* _GL_WARN_EXTERN_C declaration;
- performs the declaration with C linkage. */
-#ifndef _GL_WARN_EXTERN_C
-# if defined __cplusplus
-# define _GL_WARN_EXTERN_C extern "C"
-# else
-# define _GL_WARN_EXTERN_C extern
-# endif
-#endif
-
-
-/* Data structure to contain attributes for thread creation. */
-#if 0 || (1 && !1)
-# define posix_spawnattr_t rpl_posix_spawnattr_t
-#endif
-#if 0 || !1 || !1
-# if !GNULIB_defined_posix_spawnattr_t
-typedef struct
-{
- short int _flags;
- pid_t _pgrp;
- sigset_t _sd;
- sigset_t _ss;
- struct sched_param _sp;
- int _policy;
- int __pad[16];
-} posix_spawnattr_t;
-# define GNULIB_defined_posix_spawnattr_t 1
-# endif
-#endif
-
-
-/* Data structure to contain information about the actions to be
- performed in the new process with respect to file descriptors. */
-#if 0 || (1 && !1)
-# define posix_spawn_file_actions_t rpl_posix_spawn_file_actions_t
-#endif
-#if 0 || !1 || !1
-# if !GNULIB_defined_posix_spawn_file_actions_t
-typedef struct
-{
- int _allocated;
- int _used;
- struct __spawn_action *_actions;
- int __pad[16];
-} posix_spawn_file_actions_t;
-# define GNULIB_defined_posix_spawn_file_actions_t 1
-# endif
-#endif
-
-
-/* Flags to be set in the 'posix_spawnattr_t'. */
-#if 1
-/* Use the values from the system, but provide the missing ones. */
-# ifndef POSIX_SPAWN_SETSCHEDPARAM
-# define POSIX_SPAWN_SETSCHEDPARAM 0
-# endif
-# ifndef POSIX_SPAWN_SETSCHEDULER
-# define POSIX_SPAWN_SETSCHEDULER 0
-# endif
-#else
-# if 0
-/* Use the values from the system, for better compatibility. */
-/* But this implementation does not support AIX extensions. */
-# undef POSIX_SPAWN_FORK_HANDLERS
-# else
-# define POSIX_SPAWN_RESETIDS 0x01
-# define POSIX_SPAWN_SETPGROUP 0x02
-# define POSIX_SPAWN_SETSIGDEF 0x04
-# define POSIX_SPAWN_SETSIGMASK 0x08
-# define POSIX_SPAWN_SETSCHEDPARAM 0x10
-# define POSIX_SPAWN_SETSCHEDULER 0x20
-# endif
-#endif
-/* A GNU extension. Use the next free bit position. */
-#ifndef POSIX_SPAWN_USEVFORK
-# define POSIX_SPAWN_USEVFORK \
- ((POSIX_SPAWN_RESETIDS | (POSIX_SPAWN_RESETIDS - 1) \
- | POSIX_SPAWN_SETPGROUP | (POSIX_SPAWN_SETPGROUP - 1) \
- | POSIX_SPAWN_SETSIGDEF | (POSIX_SPAWN_SETSIGDEF - 1) \
- | POSIX_SPAWN_SETSIGMASK | (POSIX_SPAWN_SETSIGMASK - 1) \
- | POSIX_SPAWN_SETSCHEDPARAM \
- | (POSIX_SPAWN_SETSCHEDPARAM > 0 ? POSIX_SPAWN_SETSCHEDPARAM - 1 : 0) \
- | POSIX_SPAWN_SETSCHEDULER \
- | (POSIX_SPAWN_SETSCHEDULER > 0 ? POSIX_SPAWN_SETSCHEDULER - 1 : 0)) \
- + 1)
-#endif
-#if !GNULIB_defined_verify_POSIX_SPAWN_USEVFORK_no_overlap
-typedef int verify_POSIX_SPAWN_USEVFORK_no_overlap
- [(((POSIX_SPAWN_RESETIDS | POSIX_SPAWN_SETPGROUP
- | POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETSIGMASK
- | POSIX_SPAWN_SETSCHEDPARAM | POSIX_SPAWN_SETSCHEDULER)
- & POSIX_SPAWN_USEVFORK)
- == 0)
- ? 1 : -1];
-# define GNULIB_defined_verify_POSIX_SPAWN_USEVFORK_no_overlap 1
-#endif
-
-
-#if 0
-/* Spawn a new process executing PATH with the attributes describes in *ATTRP.
- Before running the process perform the actions described in FILE-ACTIONS.
-
- This function is a possible cancellation points and therefore not
- marked with __THROW. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawn rpl_posix_spawn
-# endif
-_GL_FUNCDECL_RPL (posix_spawn, int,
- (pid_t *_Restrict_ __pid,
- const char *_Restrict_ __path,
- const posix_spawn_file_actions_t *_Restrict_ __file_actions,
- const posix_spawnattr_t *_Restrict_ __attrp,
- char *const argv[_Restrict_arr_],
- char *const envp[_Restrict_arr_])
- _GL_ARG_NONNULL ((2, 5, 6)));
-_GL_CXXALIAS_RPL (posix_spawn, int,
- (pid_t *_Restrict_ __pid,
- const char *_Restrict_ __path,
- const posix_spawn_file_actions_t *_Restrict_ __file_actions,
- const posix_spawnattr_t *_Restrict_ __attrp,
- char *const argv[_Restrict_arr_],
- char *const envp[_Restrict_arr_]));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawn, int,
- (pid_t *_Restrict_ __pid,
- const char *_Restrict_ __path,
- const posix_spawn_file_actions_t *_Restrict_ __file_actions,
- const posix_spawnattr_t *_Restrict_ __attrp,
- char *const argv[_Restrict_arr_],
- char *const envp[_Restrict_arr_])
- _GL_ARG_NONNULL ((2, 5, 6)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawn, int,
- (pid_t *_Restrict_ __pid,
- const char *_Restrict_ __path,
- const posix_spawn_file_actions_t *_Restrict_ __file_actions,
- const posix_spawnattr_t *_Restrict_ __attrp,
- char *const argv[_Restrict_arr_],
- char *const envp[_Restrict_arr_]));
-# endif
-_GL_CXXALIASWARN (posix_spawn);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawn
-# if HAVE_RAW_DECL_POSIX_SPAWN
-_GL_WARN_ON_USE (posix_spawn, "posix_spawn is unportable - "
- "use gnulib module posix_spawn for portability");
-# endif
-#endif
-
-#if 1
-/* Similar to 'posix_spawn' but search for FILE in the PATH.
-
- This function is a possible cancellation points and therefore not
- marked with __THROW. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnp rpl_posix_spawnp
-# endif
-_GL_FUNCDECL_RPL (posix_spawnp, int,
- (pid_t *__pid, const char *__file,
- const posix_spawn_file_actions_t *__file_actions,
- const posix_spawnattr_t *__attrp,
- char *const argv[], char *const envp[])
- _GL_ARG_NONNULL ((2, 5, 6)));
-_GL_CXXALIAS_RPL (posix_spawnp, int,
- (pid_t *__pid, const char *__file,
- const posix_spawn_file_actions_t *__file_actions,
- const posix_spawnattr_t *__attrp,
- char *const argv[], char *const envp[]));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnp, int,
- (pid_t *__pid, const char *__file,
- const posix_spawn_file_actions_t *__file_actions,
- const posix_spawnattr_t *__attrp,
- char *const argv[], char *const envp[])
- _GL_ARG_NONNULL ((2, 5, 6)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnp, int,
- (pid_t *__pid, const char *__file,
- const posix_spawn_file_actions_t *__file_actions,
- const posix_spawnattr_t *__attrp,
- char *const argv[], char *const envp[]));
-# endif
-_GL_CXXALIASWARN (posix_spawnp);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnp
-# if HAVE_RAW_DECL_POSIX_SPAWNP
-_GL_WARN_ON_USE (posix_spawnp, "posix_spawnp is unportable - "
- "use gnulib module posix_spawnp for portability");
-# endif
-#endif
-
-
-#if 0
-/* Initialize data structure with attributes for 'spawn' to default values. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_init rpl_posix_spawnattr_init
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_init, int, (posix_spawnattr_t *__attr)
- __THROW _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (posix_spawnattr_init, int, (posix_spawnattr_t *__attr));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnattr_init, int, (posix_spawnattr_t *__attr)
- __THROW _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_init, int, (posix_spawnattr_t *__attr));
-# endif
-_GL_CXXALIASWARN (posix_spawnattr_init);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_init
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_INIT
-_GL_WARN_ON_USE (posix_spawnattr_init, "posix_spawnattr_init is unportable - "
- "use gnulib module posix_spawnattr_init for portability");
-# endif
-#endif
-
-#if 0
-/* Free resources associated with ATTR. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_destroy rpl_posix_spawnattr_destroy
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_destroy, int, (posix_spawnattr_t *__attr)
- __THROW _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (posix_spawnattr_destroy, int, (posix_spawnattr_t *__attr));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnattr_destroy, int, (posix_spawnattr_t *__attr)
- __THROW _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_destroy, int, (posix_spawnattr_t *__attr));
-# endif
-_GL_CXXALIASWARN (posix_spawnattr_destroy);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_destroy
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_DESTROY
-_GL_WARN_ON_USE (posix_spawnattr_destroy,
- "posix_spawnattr_destroy is unportable - "
- "use gnulib module posix_spawnattr_destroy for portability");
-# endif
-#endif
-
-#if 0
-/* Store signal mask for signals with default handling from ATTR in
- SIGDEFAULT. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_getsigdefault rpl_posix_spawnattr_getsigdefault
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_getsigdefault, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- sigset_t *_Restrict_ __sigdefault)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (posix_spawnattr_getsigdefault, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- sigset_t *_Restrict_ __sigdefault));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnattr_getsigdefault, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- sigset_t *_Restrict_ __sigdefault)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_getsigdefault, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- sigset_t *_Restrict_ __sigdefault));
-# endif
-_GL_CXXALIASWARN (posix_spawnattr_getsigdefault);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_getsigdefault
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETSIGDEFAULT
-_GL_WARN_ON_USE (posix_spawnattr_getsigdefault,
- "posix_spawnattr_getsigdefault is unportable - "
- "use gnulib module posix_spawnattr_getsigdefault for portability");
-# endif
-#endif
-
-#if 0
-/* Set signal mask for signals with default handling in ATTR to SIGDEFAULT. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_setsigdefault rpl_posix_spawnattr_setsigdefault
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_setsigdefault, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const sigset_t *_Restrict_ __sigdefault)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (posix_spawnattr_setsigdefault, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const sigset_t *_Restrict_ __sigdefault));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnattr_setsigdefault, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const sigset_t *_Restrict_ __sigdefault)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_setsigdefault, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const sigset_t *_Restrict_ __sigdefault));
-# endif
-_GL_CXXALIASWARN (posix_spawnattr_setsigdefault);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_setsigdefault
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETSIGDEFAULT
-_GL_WARN_ON_USE (posix_spawnattr_setsigdefault,
- "posix_spawnattr_setsigdefault is unportable - "
- "use gnulib module posix_spawnattr_setsigdefault for portability");
-# endif
-#endif
-
-#if 0
-/* Store signal mask for the new process from ATTR in SIGMASK. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_getsigmask rpl_posix_spawnattr_getsigmask
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_getsigmask, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- sigset_t *_Restrict_ __sigmask)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (posix_spawnattr_getsigmask, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- sigset_t *_Restrict_ __sigmask));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnattr_getsigmask, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- sigset_t *_Restrict_ __sigmask)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_getsigmask, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- sigset_t *_Restrict_ __sigmask));
-# endif
-_GL_CXXALIASWARN (posix_spawnattr_getsigmask);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_getsigmask
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETSIGMASK
-_GL_WARN_ON_USE (posix_spawnattr_getsigmask,
- "posix_spawnattr_getsigmask is unportable - "
- "use gnulib module posix_spawnattr_getsigmask for portability");
-# endif
-#endif
-
-#if 0
-/* Set signal mask for the new process in ATTR to SIGMASK. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_setsigmask rpl_posix_spawnattr_setsigmask
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_setsigmask, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const sigset_t *_Restrict_ __sigmask)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (posix_spawnattr_setsigmask, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const sigset_t *_Restrict_ __sigmask));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnattr_setsigmask, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const sigset_t *_Restrict_ __sigmask)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_setsigmask, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const sigset_t *_Restrict_ __sigmask));
-# endif
-_GL_CXXALIASWARN (posix_spawnattr_setsigmask);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_setsigmask
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETSIGMASK
-_GL_WARN_ON_USE (posix_spawnattr_setsigmask,
- "posix_spawnattr_setsigmask is unportable - "
- "use gnulib module posix_spawnattr_setsigmask for portability");
-# endif
-#endif
-
-#if 0
-/* Get flag word from the attribute structure. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_getflags rpl_posix_spawnattr_getflags
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_getflags, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- short int *_Restrict_ __flags)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (posix_spawnattr_getflags, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- short int *_Restrict_ __flags));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnattr_getflags, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- short int *_Restrict_ __flags)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_getflags, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- short int *_Restrict_ __flags));
-# endif
-_GL_CXXALIASWARN (posix_spawnattr_getflags);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_getflags
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETFLAGS
-_GL_WARN_ON_USE (posix_spawnattr_getflags,
- "posix_spawnattr_getflags is unportable - "
- "use gnulib module posix_spawnattr_getflags for portability");
-# endif
-#endif
-
-#if 0
-/* Store flags in the attribute structure. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_setflags rpl_posix_spawnattr_setflags
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_setflags, int,
- (posix_spawnattr_t *__attr, short int __flags)
- __THROW _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (posix_spawnattr_setflags, int,
- (posix_spawnattr_t *__attr, short int __flags));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnattr_setflags, int,
- (posix_spawnattr_t *__attr, short int __flags)
- __THROW _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_setflags, int,
- (posix_spawnattr_t *__attr, short int __flags));
-# endif
-_GL_CXXALIASWARN (posix_spawnattr_setflags);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_setflags
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETFLAGS
-_GL_WARN_ON_USE (posix_spawnattr_setflags,
- "posix_spawnattr_setflags is unportable - "
- "use gnulib module posix_spawnattr_setflags for portability");
-# endif
-#endif
-
-#if 0
-/* Get process group ID from the attribute structure. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_getpgroup rpl_posix_spawnattr_getpgroup
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_getpgroup, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- pid_t *_Restrict_ __pgroup)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (posix_spawnattr_getpgroup, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- pid_t *_Restrict_ __pgroup));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnattr_getpgroup, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- pid_t *_Restrict_ __pgroup)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_getpgroup, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- pid_t *_Restrict_ __pgroup));
-# endif
-_GL_CXXALIASWARN (posix_spawnattr_getpgroup);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_getpgroup
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETPGROUP
-_GL_WARN_ON_USE (posix_spawnattr_getpgroup,
- "posix_spawnattr_getpgroup is unportable - "
- "use gnulib module posix_spawnattr_getpgroup for portability");
-# endif
-#endif
-
-#if 0
-/* Store process group ID in the attribute structure. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_setpgroup rpl_posix_spawnattr_setpgroup
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_setpgroup, int,
- (posix_spawnattr_t *__attr, pid_t __pgroup)
- __THROW _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (posix_spawnattr_setpgroup, int,
- (posix_spawnattr_t *__attr, pid_t __pgroup));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawnattr_setpgroup, int,
- (posix_spawnattr_t *__attr, pid_t __pgroup)
- __THROW _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_setpgroup, int,
- (posix_spawnattr_t *__attr, pid_t __pgroup));
-# endif
-_GL_CXXALIASWARN (posix_spawnattr_setpgroup);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_setpgroup
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETPGROUP
-_GL_WARN_ON_USE (posix_spawnattr_setpgroup,
- "posix_spawnattr_setpgroup is unportable - "
- "use gnulib module posix_spawnattr_setpgroup for portability");
-# endif
-#endif
-
-#if 0
-/* Get scheduling policy from the attribute structure. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_getschedpolicy rpl_posix_spawnattr_getschedpolicy
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_getschedpolicy, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- int *_Restrict_ __schedpolicy)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (posix_spawnattr_getschedpolicy, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- int *_Restrict_ __schedpolicy));
-# else
-# if !1 || POSIX_SPAWN_SETSCHEDULER == 0
-_GL_FUNCDECL_SYS (posix_spawnattr_getschedpolicy, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- int *_Restrict_ __schedpolicy)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_getschedpolicy, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- int *_Restrict_ __schedpolicy));
-# endif
-# if __GLIBC__ >= 2
-_GL_CXXALIASWARN (posix_spawnattr_getschedpolicy);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_getschedpolicy
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETSCHEDPOLICY
-_GL_WARN_ON_USE (posix_spawnattr_getschedpolicy,
- "posix_spawnattr_getschedpolicy is unportable - "
- "use gnulib module posix_spawnattr_getschedpolicy for portability");
-# endif
-#endif
-
-#if 0
-/* Store scheduling policy in the attribute structure. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_setschedpolicy rpl_posix_spawnattr_setschedpolicy
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_setschedpolicy, int,
- (posix_spawnattr_t *__attr, int __schedpolicy)
- __THROW _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (posix_spawnattr_setschedpolicy, int,
- (posix_spawnattr_t *__attr, int __schedpolicy));
-# else
-# if !1 || POSIX_SPAWN_SETSCHEDULER == 0
-_GL_FUNCDECL_SYS (posix_spawnattr_setschedpolicy, int,
- (posix_spawnattr_t *__attr, int __schedpolicy)
- __THROW _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_setschedpolicy, int,
- (posix_spawnattr_t *__attr, int __schedpolicy));
-# endif
-# if __GLIBC__ >= 2
-_GL_CXXALIASWARN (posix_spawnattr_setschedpolicy);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_setschedpolicy
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETSCHEDPOLICY
-_GL_WARN_ON_USE (posix_spawnattr_setschedpolicy,
- "posix_spawnattr_setschedpolicy is unportable - "
- "use gnulib module posix_spawnattr_setschedpolicy for portability");
-# endif
-#endif
-
-#if 0
-/* Get scheduling parameters from the attribute structure. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_getschedparam rpl_posix_spawnattr_getschedparam
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_getschedparam, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- struct sched_param *_Restrict_ __schedparam)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (posix_spawnattr_getschedparam, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- struct sched_param *_Restrict_ __schedparam));
-# else
-# if !1 || POSIX_SPAWN_SETSCHEDPARAM == 0
-_GL_FUNCDECL_SYS (posix_spawnattr_getschedparam, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- struct sched_param *_Restrict_ __schedparam)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_getschedparam, int,
- (const posix_spawnattr_t *_Restrict_ __attr,
- struct sched_param *_Restrict_ __schedparam));
-# endif
-# if __GLIBC__ >= 2
-_GL_CXXALIASWARN (posix_spawnattr_getschedparam);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_getschedparam
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETSCHEDPARAM
-_GL_WARN_ON_USE (posix_spawnattr_getschedparam,
- "posix_spawnattr_getschedparam is unportable - "
- "use gnulib module posix_spawnattr_getschedparam for portability");
-# endif
-#endif
-
-#if 0
-/* Store scheduling parameters in the attribute structure. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawnattr_setschedparam rpl_posix_spawnattr_setschedparam
-# endif
-_GL_FUNCDECL_RPL (posix_spawnattr_setschedparam, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const struct sched_param *_Restrict_ __schedparam)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (posix_spawnattr_setschedparam, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const struct sched_param *_Restrict_ __schedparam));
-# else
-# if !1 || POSIX_SPAWN_SETSCHEDPARAM == 0
-_GL_FUNCDECL_SYS (posix_spawnattr_setschedparam, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const struct sched_param *_Restrict_ __schedparam)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawnattr_setschedparam, int,
- (posix_spawnattr_t *_Restrict_ __attr,
- const struct sched_param *_Restrict_ __schedparam));
-# endif
-# if __GLIBC__ >= 2
-_GL_CXXALIASWARN (posix_spawnattr_setschedparam);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawnattr_setschedparam
-# if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETSCHEDPARAM
-_GL_WARN_ON_USE (posix_spawnattr_setschedparam,
- "posix_spawnattr_setschedparam is unportable - "
- "use gnulib module posix_spawnattr_setschedparam for portability");
-# endif
-#endif
-
-
-#if 0
-/* Initialize data structure for file attribute for 'spawn' call. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawn_file_actions_init rpl_posix_spawn_file_actions_init
-# endif
-_GL_FUNCDECL_RPL (posix_spawn_file_actions_init, int,
- (posix_spawn_file_actions_t *__file_actions)
- __THROW _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (posix_spawn_file_actions_init, int,
- (posix_spawn_file_actions_t *__file_actions));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawn_file_actions_init, int,
- (posix_spawn_file_actions_t *__file_actions)
- __THROW _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawn_file_actions_init, int,
- (posix_spawn_file_actions_t *__file_actions));
-# endif
-_GL_CXXALIASWARN (posix_spawn_file_actions_init);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawn_file_actions_init
-# if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_INIT
-_GL_WARN_ON_USE (posix_spawn_file_actions_init,
- "posix_spawn_file_actions_init is unportable - "
- "use gnulib module posix_spawn_file_actions_init for portability");
-# endif
-#endif
-
-#if 0
-/* Free resources associated with FILE-ACTIONS. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawn_file_actions_destroy rpl_posix_spawn_file_actions_destroy
-# endif
-_GL_FUNCDECL_RPL (posix_spawn_file_actions_destroy, int,
- (posix_spawn_file_actions_t *__file_actions)
- __THROW _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (posix_spawn_file_actions_destroy, int,
- (posix_spawn_file_actions_t *__file_actions));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawn_file_actions_destroy, int,
- (posix_spawn_file_actions_t *__file_actions)
- __THROW _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawn_file_actions_destroy, int,
- (posix_spawn_file_actions_t *__file_actions));
-# endif
-_GL_CXXALIASWARN (posix_spawn_file_actions_destroy);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawn_file_actions_destroy
-# if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_DESTROY
-_GL_WARN_ON_USE (posix_spawn_file_actions_destroy,
- "posix_spawn_file_actions_destroy is unportable - "
- "use gnulib module posix_spawn_file_actions_destroy for portability");
-# endif
-#endif
-
-#if 0
-/* Add an action to FILE-ACTIONS which tells the implementation to call
- 'open' for the given file during the 'spawn' call. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawn_file_actions_addopen rpl_posix_spawn_file_actions_addopen
-# endif
-_GL_FUNCDECL_RPL (posix_spawn_file_actions_addopen, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- int __fd,
- const char *_Restrict_ __path, int __oflag, mode_t __mode)
- __THROW _GL_ARG_NONNULL ((1, 3)));
-_GL_CXXALIAS_RPL (posix_spawn_file_actions_addopen, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- int __fd,
- const char *_Restrict_ __path, int __oflag, mode_t __mode));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawn_file_actions_addopen, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- int __fd,
- const char *_Restrict_ __path, int __oflag, mode_t __mode)
- __THROW _GL_ARG_NONNULL ((1, 3)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawn_file_actions_addopen, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- int __fd,
- const char *_Restrict_ __path, int __oflag, mode_t __mode));
-# endif
-# if __GLIBC__ >= 2
-_GL_CXXALIASWARN (posix_spawn_file_actions_addopen);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawn_file_actions_addopen
-# if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN
-_GL_WARN_ON_USE (posix_spawn_file_actions_addopen,
- "posix_spawn_file_actions_addopen is unportable - "
- "use gnulib module posix_spawn_file_actions_addopen for portability");
-# endif
-#endif
-
-#if 0
-/* Add an action to FILE-ACTIONS which tells the implementation to call
- 'close' for the given file descriptor during the 'spawn' call. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawn_file_actions_addclose rpl_posix_spawn_file_actions_addclose
-# endif
-_GL_FUNCDECL_RPL (posix_spawn_file_actions_addclose, int,
- (posix_spawn_file_actions_t *__file_actions, int __fd)
- __THROW _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (posix_spawn_file_actions_addclose, int,
- (posix_spawn_file_actions_t *__file_actions, int __fd));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawn_file_actions_addclose, int,
- (posix_spawn_file_actions_t *__file_actions, int __fd)
- __THROW _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawn_file_actions_addclose, int,
- (posix_spawn_file_actions_t *__file_actions, int __fd));
-# endif
-# if __GLIBC__ >= 2
-_GL_CXXALIASWARN (posix_spawn_file_actions_addclose);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawn_file_actions_addclose
-# if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE
-_GL_WARN_ON_USE (posix_spawn_file_actions_addclose,
- "posix_spawn_file_actions_addclose is unportable - "
- "use gnulib module posix_spawn_file_actions_addclose for portability");
-# endif
-#endif
-
-#if 0
-/* Add an action to FILE-ACTIONS which tells the implementation to call
- 'dup2' for the given file descriptors during the 'spawn' call. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawn_file_actions_adddup2 rpl_posix_spawn_file_actions_adddup2
-# endif
-_GL_FUNCDECL_RPL (posix_spawn_file_actions_adddup2, int,
- (posix_spawn_file_actions_t *__file_actions,
- int __fd, int __newfd)
- __THROW _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (posix_spawn_file_actions_adddup2, int,
- (posix_spawn_file_actions_t *__file_actions,
- int __fd, int __newfd));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawn_file_actions_adddup2, int,
- (posix_spawn_file_actions_t *__file_actions,
- int __fd, int __newfd)
- __THROW _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawn_file_actions_adddup2, int,
- (posix_spawn_file_actions_t *__file_actions,
- int __fd, int __newfd));
-# endif
-# if __GLIBC__ >= 2
-_GL_CXXALIASWARN (posix_spawn_file_actions_adddup2);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawn_file_actions_adddup2
-# if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2
-_GL_WARN_ON_USE (posix_spawn_file_actions_adddup2,
- "posix_spawn_file_actions_adddup2 is unportable - "
- "use gnulib module posix_spawn_file_actions_adddup2 for portability");
-# endif
-#endif
-
-#if 0
-/* Add an action to FILE-ACTIONS which tells the implementation to call
- 'chdir' to the given directory during the 'spawn' call. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawn_file_actions_addchdir rpl_posix_spawn_file_actions_addchdir
-# endif
-_GL_FUNCDECL_RPL (posix_spawn_file_actions_addchdir, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- const char *_Restrict_ __path)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (posix_spawn_file_actions_addchdir, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- const char *_Restrict_ __path));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawn_file_actions_addchdir, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- const char *_Restrict_ __path)
- __THROW _GL_ARG_NONNULL ((1, 2)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawn_file_actions_addchdir, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- const char *_Restrict_ __path));
-# endif
-_GL_CXXALIASWARN (posix_spawn_file_actions_addchdir);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawn_file_actions_addchdir
-# if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR
-_GL_WARN_ON_USE (posix_spawn_file_actions_addchdir,
- "posix_spawn_file_actions_addchdir is unportable - "
- "use gnulib module posix_spawn_file_actions_addchdir for portability");
-# endif
-#endif
-
-#if 0
-/* Add an action to FILE-ACTIONS which tells the implementation to call
- 'fchdir' to the given directory during the 'spawn' call. */
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define posix_spawn_file_actions_addfchdir rpl_posix_spawn_file_actions_addfchdir
-# endif
-_GL_FUNCDECL_RPL (posix_spawn_file_actions_addfchdir, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- int __fd)
- __THROW _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (posix_spawn_file_actions_addfchdir, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- int __fd));
-# else
-# if !1
-_GL_FUNCDECL_SYS (posix_spawn_file_actions_addfchdir, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- int __fd)
- __THROW _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (posix_spawn_file_actions_addfchdir, int,
- (posix_spawn_file_actions_t *_Restrict_ __file_actions,
- int __fd));
-# endif
-_GL_CXXALIASWARN (posix_spawn_file_actions_addfchdir);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_spawn_file_actions_addfchdir
-# if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR
-_GL_WARN_ON_USE (posix_spawn_file_actions_addfchdir,
- "posix_spawn_file_actions_addfchdir is unportable - "
- "use gnulib module posix_spawn_file_actions_addfchdir for portability");
-# endif
-#endif
-
-
-#endif /* _GL_SPAWN_H */
-#endif /* _GL_SPAWN_H */
-#endif
diff --git a/lib/stdckdint.h b/lib/stdckdint.h
deleted file mode 100644
index 8eeac9094..000000000
--- a/lib/stdckdint.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* stdckdint.h -- checked integer arithmetic
-
- Copyright 2022 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _GL_STDCKDINT_H
-#define _GL_STDCKDINT_H
-
-#include "intprops-internal.h"
-
-#include <stdbool.h>
-
-/* Store into *R the low-order bits of A + B, A - B, A * B, respectively.
- Return 1 if the result overflows, 0 otherwise.
- A, B, and *R can have any integer type other than char, bool, a
- bit-precise integer type, or an enumeration type.
-
- These are like the standard macros introduced in C23, except that
- arguments should not have side effects. */
-
-#define ckd_add(r, a, b) ((bool) _GL_INT_ADD_WRAPV (a, b, r))
-#define ckd_sub(r, a, b) ((bool) _GL_INT_SUBTRACT_WRAPV (a, b, r))
-#define ckd_mul(r, a, b) ((bool) _GL_INT_MULTIPLY_WRAPV (a, b, r))
-
-#endif /* _GL_STDCKDINT_H */