Blame gnulib/lib/libc-config.h

Packit Service a2ae7a
/* System definitions for code taken from the GNU C Library
Packit Service a2ae7a
Packit Service a2ae7a
   Copyright 2017-2019 Free Software Foundation, Inc.
Packit Service a2ae7a
Packit Service a2ae7a
   This program is free software; you can redistribute it and/or
Packit Service a2ae7a
   modify it under the terms of the GNU Lesser General Public
Packit Service a2ae7a
   License as published by the Free Software Foundation; either
Packit Service a2ae7a
   version 2.1 of the License, or (at your option) any later version.
Packit Service a2ae7a
Packit Service a2ae7a
   This program is distributed in the hope that it will be useful,
Packit Service a2ae7a
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service a2ae7a
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service a2ae7a
   Lesser General Public License for more details.
Packit Service a2ae7a
Packit Service a2ae7a
   You should have received a copy of the GNU Lesser General Public
Packit Service a2ae7a
   License along with this program; if not, see
Packit Service a2ae7a
   <https://www.gnu.org/licenses/>.  */
Packit Service a2ae7a
Packit Service a2ae7a
/* Written by Paul Eggert.  */
Packit Service a2ae7a
Packit Service a2ae7a
/* This is intended to be a good-enough substitute for glibc system
Packit Service a2ae7a
   macros like those defined in <sys/cdefs.h>, so that Gnulib code
Packit Service a2ae7a
   shared with glibc can do this as the first #include:
Packit Service a2ae7a
Packit Service a2ae7a
     #ifndef _LIBC
Packit Service a2ae7a
     # include <libc-config.h>
Packit Service a2ae7a
     #endif
Packit Service a2ae7a
Packit Service a2ae7a
   When compiled as part of glibc this is a no-op; when compiled as
Packit Service a2ae7a
   part of Gnulib this includes Gnulib's <config.h> and defines macros
Packit Service a2ae7a
   that glibc library code would normally assume.  */
Packit Service a2ae7a
Packit Service a2ae7a
#include <config.h>
Packit Service a2ae7a
Packit Service a2ae7a
/* On glibc this includes <features.h> and <sys/cdefs.h> and #defines
Packit Service a2ae7a
   _FEATURES_H, __WORDSIZE, and __set_errno.  On FreeBSD 11 it
Packit Service a2ae7a
   includes <sys/cdefs.h> which defines __nonnull.  Elsewhere it
Packit Service a2ae7a
   is harmless.  */
Packit Service a2ae7a
#include <errno.h>
Packit Service a2ae7a
Packit Service a2ae7a
/* From glibc <errno.h>.  */
Packit Service a2ae7a
#ifndef __set_errno
Packit Service a2ae7a
# define __set_errno(val) (errno = (val))
Packit Service a2ae7a
#endif
Packit Service a2ae7a
Packit Service a2ae7a
/* From glibc <features.h>.  */
Packit Service a2ae7a
Packit Service a2ae7a
#ifndef __GNUC_PREREQ
Packit Service a2ae7a
# if defined __GNUC__ && defined __GNUC_MINOR__
Packit Service a2ae7a
#  define __GNUC_PREREQ(maj, min) ((maj) < __GNUC__ + ((min) <= __GNUC_MINOR__))
Packit Service a2ae7a
# else
Packit Service a2ae7a
#  define __GNUC_PREREQ(maj, min) 0
Packit Service a2ae7a
# endif
Packit Service a2ae7a
#endif
Packit Service a2ae7a
Packit Service a2ae7a
#ifndef __glibc_clang_prereq
Packit Service a2ae7a
# if defined __clang_major__ && defined __clang_minor__
Packit Service a2ae7a
#  define __glibc_clang_prereq(maj, min) \
Packit Service a2ae7a
     ((maj) < __clang_major__ + ((min) <= __clang_minor__))
Packit Service a2ae7a
# else
Packit Service a2ae7a
#  define __glibc_clang_prereq(maj, min) 0
Packit Service a2ae7a
# endif
Packit Service a2ae7a
#endif
Packit Service a2ae7a
Packit Service a2ae7a
Packit Service a2ae7a
/* Prepare to include <cdefs.h>, which is our copy of glibc
Packit Service a2ae7a
   <sys/cdefs.h>.  */
Packit Service a2ae7a
Packit Service a2ae7a
/* Define _FEATURES_H so that <cdefs.h> does not include <features.h>.  */
Packit Service a2ae7a
#ifndef _FEATURES_H
Packit Service a2ae7a
# define _FEATURES_H 1
Packit Service a2ae7a
#endif
Packit Service a2ae7a
/* Define __WORDSIZE so that <cdefs.h> does not attempt to include
Packit Service a2ae7a
   nonexistent files.  Make it a syntax error, since Gnulib does not
Packit Service a2ae7a
   use __WORDSIZE now, and if Gnulib uses it later the syntax error
Packit Service a2ae7a
   will let us know that __WORDSIZE needs configuring.  */
Packit Service a2ae7a
#ifndef __WORDSIZE
Packit Service a2ae7a
# define __WORDSIZE %%%
Packit Service a2ae7a
#endif
Packit Service a2ae7a
/* Undef the macros unconditionally defined by our copy of glibc
Packit Service a2ae7a
   <sys/cdefs.h>, so that they do not clash with any system-defined
Packit Service a2ae7a
   versions.  */
Packit Service a2ae7a
#undef _SYS_CDEFS_H
Packit Service a2ae7a
#undef __ASMNAME
Packit Service a2ae7a
#undef __ASMNAME2
Packit Service a2ae7a
#undef __BEGIN_DECLS
Packit Service a2ae7a
#undef __CONCAT
Packit Service a2ae7a
#undef __END_DECLS
Packit Service a2ae7a
#undef __HAVE_GENERIC_SELECTION
Packit Service a2ae7a
#undef __LDBL_COMPAT
Packit Service a2ae7a
#undef __LDBL_REDIR
Packit Service a2ae7a
#undef __LDBL_REDIR1
Packit Service a2ae7a
#undef __LDBL_REDIR1_DECL
Packit Service a2ae7a
#undef __LDBL_REDIR1_NTH
Packit Service a2ae7a
#undef __LDBL_REDIR_DECL
Packit Service a2ae7a
#undef __LDBL_REDIR_NTH
Packit Service a2ae7a
#undef __LEAF
Packit Service a2ae7a
#undef __LEAF_ATTR
Packit Service a2ae7a
#undef __NTH
Packit Service a2ae7a
#undef __NTHNL
Packit Service a2ae7a
#undef __P
Packit Service a2ae7a
#undef __PMT
Packit Service a2ae7a
#undef __REDIRECT
Packit Service a2ae7a
#undef __REDIRECT_LDBL
Packit Service a2ae7a
#undef __REDIRECT_NTH
Packit Service a2ae7a
#undef __REDIRECT_NTHNL
Packit Service a2ae7a
#undef __REDIRECT_NTH_LDBL
Packit Service a2ae7a
#undef __STRING
Packit Service a2ae7a
#undef __THROW
Packit Service a2ae7a
#undef __THROWNL
Packit Service a2ae7a
#undef __always_inline
Packit Service a2ae7a
#undef __attribute__
Packit Service a2ae7a
#undef __attribute_alloc_size__
Packit Service a2ae7a
#undef __attribute_artificial__
Packit Service a2ae7a
#undef __attribute_const__
Packit Service a2ae7a
#undef __attribute_deprecated__
Packit Service a2ae7a
#undef __attribute_deprecated_msg__
Packit Service a2ae7a
#undef __attribute_format_arg__
Packit Service a2ae7a
#undef __attribute_format_strfmon__
Packit Service a2ae7a
#undef __attribute_malloc__
Packit Service a2ae7a
#undef __attribute_noinline__
Packit Service a2ae7a
#undef __attribute_nonstring__
Packit Service a2ae7a
#undef __attribute_pure__
Packit Service a2ae7a
#undef __attribute_used__
Packit Service a2ae7a
#undef __attribute_warn_unused_result__
Packit Service a2ae7a
#undef __bos
Packit Service a2ae7a
#undef __bos0
Packit Service a2ae7a
#undef __errordecl
Packit Service a2ae7a
#undef __extension__
Packit Service a2ae7a
#undef __extern_always_inline
Packit Service a2ae7a
#undef __extern_inline
Packit Service a2ae7a
#undef __flexarr
Packit Service a2ae7a
#undef __fortify_function
Packit Service a2ae7a
#undef __glibc_c99_flexarr_available
Packit Service a2ae7a
#undef __glibc_clang_has_extension
Packit Service a2ae7a
#undef __glibc_likely
Packit Service a2ae7a
#undef __glibc_macro_warning
Packit Service a2ae7a
#undef __glibc_macro_warning1
Packit Service a2ae7a
#undef __glibc_unlikely
Packit Service a2ae7a
#undef __inline
Packit Service a2ae7a
#undef __ptr_t
Packit Service a2ae7a
#undef __restrict
Packit Service a2ae7a
#undef __restrict_arr
Packit Service a2ae7a
#undef __va_arg_pack
Packit Service a2ae7a
#undef __va_arg_pack_len
Packit Service a2ae7a
#undef __warnattr
Packit Service a2ae7a
#undef __warndecl
Packit Service a2ae7a
Packit Service a2ae7a
/* Include our copy of glibc <sys/cdefs.h>.  */
Packit Service a2ae7a
#include <cdefs.h>
Packit Service a2ae7a
Packit Service a2ae7a
/* <cdefs.h> __inline is too pessimistic for non-GCC.  */
Packit Service a2ae7a
#undef __inline
Packit Service a2ae7a
#ifndef HAVE___INLINE
Packit Service a2ae7a
# if 199901 <= __STDC_VERSION__ || defined inline
Packit Service a2ae7a
#  define __inline inline
Packit Service a2ae7a
# else
Packit Service a2ae7a
#  define __inline
Packit Service a2ae7a
# endif
Packit Service a2ae7a
#endif
Packit Service a2ae7a
Packit Service a2ae7a
Packit Service a2ae7a
/* A substitute for glibc <libc-symbols.h>, good enough for Gnulib.  */
Packit Service a2ae7a
#define attribute_hidden
Packit Service a2ae7a
#define libc_hidden_proto(name, ...)
Packit Service a2ae7a
#define libc_hidden_def(name)
Packit Service a2ae7a
#define libc_hidden_weak(name)
Packit Service a2ae7a
#define libc_hidden_ver(local, name)
Packit Service a2ae7a
#define strong_alias(name, aliasname)
Packit Service a2ae7a
#define weak_alias(name, aliasname)
Packit Service a2ae7a
Packit Service a2ae7a
/* A substitute for glibc <shlib-compat.h>, good enough for Gnulib.  */
Packit Service a2ae7a
#define SHLIB_COMPAT(lib, introduced, obsoleted) 0
Packit Service a2ae7a
#define versioned_symbol(lib, local, symbol, version)