mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-23 18:32:53 +00:00
use shared copy of boost headers for libktorrent and kget
This commit is contained in:
parent
1e000b6731
commit
26ece7b26a
1406 changed files with 3 additions and 29138 deletions
|
@ -18,5 +18,5 @@ rm -vrf miniboost/
|
|||
mkdir -vp miniboost/
|
||||
|
||||
bcp --boost="$boost" boost/shared_array.hpp boost/concept_check.hpp \
|
||||
boost/scoped_ptr.hpp boost/circular_buffer.hpp \
|
||||
boost/scoped_ptr.hpp boost/circular_buffer.hpp boost/bind \
|
||||
miniboost/
|
|
@ -1,7 +1,7 @@
|
|||
project(kget)
|
||||
|
||||
# boost headers are bundled
|
||||
include_directories(${PROJECT_SOURCE_DIR}/miniboost)
|
||||
include_directories(${PROJECT_SOURCE_DIR}/../miniboost)
|
||||
|
||||
if(NOT INSIDE_KDENETWORK)
|
||||
message("Not building inside KDENetwork, loading KDE CMake Macros.")
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
boost=""
|
||||
for dir in "/include" "/usr/include" "/usr/local";do
|
||||
if [ -d "$dir/boost" ];then
|
||||
boost="$dir"
|
||||
fi
|
||||
done
|
||||
if [ -z "$boost" ];then
|
||||
echo "ERROR: unable to find boost headers"
|
||||
exit 1
|
||||
elif [ -z "$(type -p bcp)" ];then
|
||||
"ERROR: bcp tool not found"
|
||||
exit 2
|
||||
fi
|
||||
rm -vrf miniboost/
|
||||
mkdir -vp miniboost/
|
||||
|
||||
bcp --boost="$boost" boost/bind miniboost/
|
|
@ -1,7 +1,7 @@
|
|||
project(LIBKTORRENT)
|
||||
|
||||
# boost headers are bundled
|
||||
include_directories(${PROJECT_SOURCE_DIR}/miniboost)
|
||||
include_directories(${PROJECT_SOURCE_DIR}/../miniboost)
|
||||
|
||||
find_package(KDE4 REQUIRED)
|
||||
find_package(KDE4Internal REQUIRED)
|
||||
|
|
|
@ -1,58 +0,0 @@
|
|||
/* This file is needed by libio to define various configuration parameters.
|
||||
These are always the same in the GNU C library. */
|
||||
|
||||
#ifndef _G_config_h
|
||||
#define _G_config_h 1
|
||||
|
||||
/* Define types for libio in terms of the standard internal type names. */
|
||||
|
||||
#include <bits/types.h>
|
||||
#define __need_size_t
|
||||
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
|
||||
# define __need_wchar_t
|
||||
#endif
|
||||
#define __need_NULL
|
||||
#include <stddef.h>
|
||||
#define __need_mbstate_t
|
||||
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
|
||||
# define __need_wint_t
|
||||
#endif
|
||||
#include <wchar.h>
|
||||
typedef struct
|
||||
{
|
||||
__off_t __pos;
|
||||
__mbstate_t __state;
|
||||
} _G_fpos_t;
|
||||
typedef struct
|
||||
{
|
||||
__off64_t __pos;
|
||||
__mbstate_t __state;
|
||||
} _G_fpos64_t;
|
||||
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
|
||||
# include <gconv.h>
|
||||
typedef union
|
||||
{
|
||||
struct __gconv_info __cd;
|
||||
struct
|
||||
{
|
||||
struct __gconv_info __cd;
|
||||
struct __gconv_step_data __data;
|
||||
} __combined;
|
||||
} _G_iconv_t;
|
||||
#endif
|
||||
|
||||
|
||||
/* These library features are always available in the GNU C library. */
|
||||
#define _G_va_list __gnuc_va_list
|
||||
|
||||
#define _G_HAVE_MMAP 1
|
||||
#define _G_HAVE_MREMAP 1
|
||||
|
||||
#define _G_IO_IO_FILE_VERSION 0x20001
|
||||
|
||||
/* This is defined by <bits/stat.h> if `st_blksize' exists. */
|
||||
#define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
|
||||
|
||||
#define _G_BUFSIZ 8192
|
||||
|
||||
#endif /* _G_config.h */
|
|
@ -1,40 +0,0 @@
|
|||
/* Copyright (C) 1992-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _ALLOCA_H
|
||||
#define _ALLOCA_H 1
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Remove any previous definitions. */
|
||||
#undef alloca
|
||||
|
||||
/* Allocate a block that will be freed when the calling function exits. */
|
||||
extern void *alloca (size_t __size) __THROW;
|
||||
|
||||
#ifdef __GNUC__
|
||||
# define alloca(size) __builtin_alloca (size)
|
||||
#endif /* GCC. */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* alloca.h */
|
|
@ -1,39 +0,0 @@
|
|||
#ifndef _ASM_GENERIC_ERRNO_BASE_H
|
||||
#define _ASM_GENERIC_ERRNO_BASE_H
|
||||
|
||||
#define EPERM 1 /* Operation not permitted */
|
||||
#define ENOENT 2 /* No such file or directory */
|
||||
#define ESRCH 3 /* No such process */
|
||||
#define EINTR 4 /* Interrupted system call */
|
||||
#define EIO 5 /* I/O error */
|
||||
#define ENXIO 6 /* No such device or address */
|
||||
#define E2BIG 7 /* Argument list too long */
|
||||
#define ENOEXEC 8 /* Exec format error */
|
||||
#define EBADF 9 /* Bad file number */
|
||||
#define ECHILD 10 /* No child processes */
|
||||
#define EAGAIN 11 /* Try again */
|
||||
#define ENOMEM 12 /* Out of memory */
|
||||
#define EACCES 13 /* Permission denied */
|
||||
#define EFAULT 14 /* Bad address */
|
||||
#define ENOTBLK 15 /* Block device required */
|
||||
#define EBUSY 16 /* Device or resource busy */
|
||||
#define EEXIST 17 /* File exists */
|
||||
#define EXDEV 18 /* Cross-device link */
|
||||
#define ENODEV 19 /* No such device */
|
||||
#define ENOTDIR 20 /* Not a directory */
|
||||
#define EISDIR 21 /* Is a directory */
|
||||
#define EINVAL 22 /* Invalid argument */
|
||||
#define ENFILE 23 /* File table overflow */
|
||||
#define EMFILE 24 /* Too many open files */
|
||||
#define ENOTTY 25 /* Not a typewriter */
|
||||
#define ETXTBSY 26 /* Text file busy */
|
||||
#define EFBIG 27 /* File too large */
|
||||
#define ENOSPC 28 /* No space left on device */
|
||||
#define ESPIPE 29 /* Illegal seek */
|
||||
#define EROFS 30 /* Read-only file system */
|
||||
#define EMLINK 31 /* Too many links */
|
||||
#define EPIPE 32 /* Broken pipe */
|
||||
#define EDOM 33 /* Math argument out of domain of func */
|
||||
#define ERANGE 34 /* Math result not representable */
|
||||
|
||||
#endif
|
|
@ -1,113 +0,0 @@
|
|||
#ifndef _ASM_GENERIC_ERRNO_H
|
||||
#define _ASM_GENERIC_ERRNO_H
|
||||
|
||||
#include <asm-generic/errno-base.h>
|
||||
|
||||
#define EDEADLK 35 /* Resource deadlock would occur */
|
||||
#define ENAMETOOLONG 36 /* File name too long */
|
||||
#define ENOLCK 37 /* No record locks available */
|
||||
#define ENOSYS 38 /* Function not implemented */
|
||||
#define ENOTEMPTY 39 /* Directory not empty */
|
||||
#define ELOOP 40 /* Too many symbolic links encountered */
|
||||
#define EWOULDBLOCK EAGAIN /* Operation would block */
|
||||
#define ENOMSG 42 /* No message of desired type */
|
||||
#define EIDRM 43 /* Identifier removed */
|
||||
#define ECHRNG 44 /* Channel number out of range */
|
||||
#define EL2NSYNC 45 /* Level 2 not synchronized */
|
||||
#define EL3HLT 46 /* Level 3 halted */
|
||||
#define EL3RST 47 /* Level 3 reset */
|
||||
#define ELNRNG 48 /* Link number out of range */
|
||||
#define EUNATCH 49 /* Protocol driver not attached */
|
||||
#define ENOCSI 50 /* No CSI structure available */
|
||||
#define EL2HLT 51 /* Level 2 halted */
|
||||
#define EBADE 52 /* Invalid exchange */
|
||||
#define EBADR 53 /* Invalid request descriptor */
|
||||
#define EXFULL 54 /* Exchange full */
|
||||
#define ENOANO 55 /* No anode */
|
||||
#define EBADRQC 56 /* Invalid request code */
|
||||
#define EBADSLT 57 /* Invalid slot */
|
||||
|
||||
#define EDEADLOCK EDEADLK
|
||||
|
||||
#define EBFONT 59 /* Bad font file format */
|
||||
#define ENOSTR 60 /* Device not a stream */
|
||||
#define ENODATA 61 /* No data available */
|
||||
#define ETIME 62 /* Timer expired */
|
||||
#define ENOSR 63 /* Out of streams resources */
|
||||
#define ENONET 64 /* Machine is not on the network */
|
||||
#define ENOPKG 65 /* Package not installed */
|
||||
#define EREMOTE 66 /* Object is remote */
|
||||
#define ENOLINK 67 /* Link has been severed */
|
||||
#define EADV 68 /* Advertise error */
|
||||
#define ESRMNT 69 /* Srmount error */
|
||||
#define ECOMM 70 /* Communication error on send */
|
||||
#define EPROTO 71 /* Protocol error */
|
||||
#define EMULTIHOP 72 /* Multihop attempted */
|
||||
#define EDOTDOT 73 /* RFS specific error */
|
||||
#define EBADMSG 74 /* Not a data message */
|
||||
#define EOVERFLOW 75 /* Value too large for defined data type */
|
||||
#define ENOTUNIQ 76 /* Name not unique on network */
|
||||
#define EBADFD 77 /* File descriptor in bad state */
|
||||
#define EREMCHG 78 /* Remote address changed */
|
||||
#define ELIBACC 79 /* Can not access a needed shared library */
|
||||
#define ELIBBAD 80 /* Accessing a corrupted shared library */
|
||||
#define ELIBSCN 81 /* .lib section in a.out corrupted */
|
||||
#define ELIBMAX 82 /* Attempting to link in too many shared libraries */
|
||||
#define ELIBEXEC 83 /* Cannot exec a shared library directly */
|
||||
#define EILSEQ 84 /* Illegal byte sequence */
|
||||
#define ERESTART 85 /* Interrupted system call should be restarted */
|
||||
#define ESTRPIPE 86 /* Streams pipe error */
|
||||
#define EUSERS 87 /* Too many users */
|
||||
#define ENOTSOCK 88 /* Socket operation on non-socket */
|
||||
#define EDESTADDRREQ 89 /* Destination address required */
|
||||
#define EMSGSIZE 90 /* Message too long */
|
||||
#define EPROTOTYPE 91 /* Protocol wrong type for socket */
|
||||
#define ENOPROTOOPT 92 /* Protocol not available */
|
||||
#define EPROTONOSUPPORT 93 /* Protocol not supported */
|
||||
#define ESOCKTNOSUPPORT 94 /* Socket type not supported */
|
||||
#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
|
||||
#define EPFNOSUPPORT 96 /* Protocol family not supported */
|
||||
#define EAFNOSUPPORT 97 /* Address family not supported by protocol */
|
||||
#define EADDRINUSE 98 /* Address already in use */
|
||||
#define EADDRNOTAVAIL 99 /* Cannot assign requested address */
|
||||
#define ENETDOWN 100 /* Network is down */
|
||||
#define ENETUNREACH 101 /* Network is unreachable */
|
||||
#define ENETRESET 102 /* Network dropped connection because of reset */
|
||||
#define ECONNABORTED 103 /* Software caused connection abort */
|
||||
#define ECONNRESET 104 /* Connection reset by peer */
|
||||
#define ENOBUFS 105 /* No buffer space available */
|
||||
#define EISCONN 106 /* Transport endpoint is already connected */
|
||||
#define ENOTCONN 107 /* Transport endpoint is not connected */
|
||||
#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */
|
||||
#define ETOOMANYREFS 109 /* Too many references: cannot splice */
|
||||
#define ETIMEDOUT 110 /* Connection timed out */
|
||||
#define ECONNREFUSED 111 /* Connection refused */
|
||||
#define EHOSTDOWN 112 /* Host is down */
|
||||
#define EHOSTUNREACH 113 /* No route to host */
|
||||
#define EALREADY 114 /* Operation already in progress */
|
||||
#define EINPROGRESS 115 /* Operation now in progress */
|
||||
#define ESTALE 116 /* Stale file handle */
|
||||
#define EUCLEAN 117 /* Structure needs cleaning */
|
||||
#define ENOTNAM 118 /* Not a XENIX named type file */
|
||||
#define ENAVAIL 119 /* No XENIX semaphores available */
|
||||
#define EISNAM 120 /* Is a named type file */
|
||||
#define EREMOTEIO 121 /* Remote I/O error */
|
||||
#define EDQUOT 122 /* Quota exceeded */
|
||||
|
||||
#define ENOMEDIUM 123 /* No medium found */
|
||||
#define EMEDIUMTYPE 124 /* Wrong medium type */
|
||||
#define ECANCELED 125 /* Operation Canceled */
|
||||
#define ENOKEY 126 /* Required key not available */
|
||||
#define EKEYEXPIRED 127 /* Key has expired */
|
||||
#define EKEYREVOKED 128 /* Key has been revoked */
|
||||
#define EKEYREJECTED 129 /* Key was rejected by service */
|
||||
|
||||
/* for robust mutexes */
|
||||
#define EOWNERDEAD 130 /* Owner died */
|
||||
#define ENOTRECOVERABLE 131 /* State not recoverable */
|
||||
|
||||
#define ERFKILL 132 /* Operation not possible due to RF-kill */
|
||||
|
||||
#define EHWPOISON 133 /* Memory page has hardware error */
|
||||
|
||||
#endif
|
|
@ -1 +0,0 @@
|
|||
#include <asm-generic/errno.h>
|
|
@ -1,49 +0,0 @@
|
|||
/* Macros to swap the order of bytes in 16-bit integer values.
|
||||
Copyright (C) 2012-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_BYTESWAP_H
|
||||
# error "Never use <bits/byteswap-16.h> directly; include <byteswap.h> instead."
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
# if __GNUC__ >= 2
|
||||
# define __bswap_16(x) \
|
||||
(__extension__ \
|
||||
({ unsigned short int __v, __x = (unsigned short int) (x); \
|
||||
if (__builtin_constant_p (__x)) \
|
||||
__v = __bswap_constant_16 (__x); \
|
||||
else \
|
||||
__asm__ ("rorw $8, %w0" \
|
||||
: "=r" (__v) \
|
||||
: "0" (__x) \
|
||||
: "cc"); \
|
||||
__v; }))
|
||||
# else
|
||||
/* This is better than nothing. */
|
||||
# define __bswap_16(x) \
|
||||
(__extension__ \
|
||||
({ unsigned short int __x = (unsigned short int) (x); \
|
||||
__bswap_constant_16 (__x); }))
|
||||
# endif
|
||||
#else
|
||||
static __inline unsigned short int
|
||||
__bswap_16 (unsigned short int __bsx)
|
||||
{
|
||||
return __bswap_constant_16 (__bsx);
|
||||
}
|
||||
#endif
|
|
@ -1,155 +0,0 @@
|
|||
/* Macros to swap the order of bytes in integer values.
|
||||
Copyright (C) 1997-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
|
||||
# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef _BITS_BYTESWAP_H
|
||||
#define _BITS_BYTESWAP_H 1
|
||||
|
||||
#include <features.h>
|
||||
#include <bits/types.h>
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
/* Swap bytes in 16 bit value. */
|
||||
#define __bswap_constant_16(x) \
|
||||
((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
|
||||
|
||||
/* Get __bswap_16. */
|
||||
#include <bits/byteswap-16.h>
|
||||
|
||||
/* Swap bytes in 32 bit value. */
|
||||
#define __bswap_constant_32(x) \
|
||||
((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
|
||||
(((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
|
||||
|
||||
#ifdef __GNUC__
|
||||
# if __GNUC_PREREQ (4, 3)
|
||||
static __inline unsigned int
|
||||
__bswap_32 (unsigned int __bsx)
|
||||
{
|
||||
return __builtin_bswap32 (__bsx);
|
||||
}
|
||||
# elif __GNUC__ >= 2
|
||||
# if __WORDSIZE == 64 || (defined __i486__ || defined __pentium__ \
|
||||
|| defined __pentiumpro__ || defined __pentium4__ \
|
||||
|| defined __k8__ || defined __athlon__ \
|
||||
|| defined __k6__ || defined __nocona__ \
|
||||
|| defined __core2__ || defined __geode__ \
|
||||
|| defined __amdfam10__)
|
||||
/* To swap the bytes in a word the i486 processors and up provide the
|
||||
`bswap' opcode. On i386 we have to use three instructions. */
|
||||
# define __bswap_32(x) \
|
||||
(__extension__ \
|
||||
({ unsigned int __v, __x = (x); \
|
||||
if (__builtin_constant_p (__x)) \
|
||||
__v = __bswap_constant_32 (__x); \
|
||||
else \
|
||||
__asm__ ("bswap %0" : "=r" (__v) : "0" (__x)); \
|
||||
__v; }))
|
||||
# else
|
||||
# define __bswap_32(x) \
|
||||
(__extension__ \
|
||||
({ unsigned int __v, __x = (x); \
|
||||
if (__builtin_constant_p (__x)) \
|
||||
__v = __bswap_constant_32 (__x); \
|
||||
else \
|
||||
__asm__ ("rorw $8, %w0;" \
|
||||
"rorl $16, %0;" \
|
||||
"rorw $8, %w0" \
|
||||
: "=r" (__v) \
|
||||
: "0" (__x) \
|
||||
: "cc"); \
|
||||
__v; }))
|
||||
# endif
|
||||
# else
|
||||
# define __bswap_32(x) \
|
||||
(__extension__ \
|
||||
({ unsigned int __x = (x); __bswap_constant_32 (__x); }))
|
||||
# endif
|
||||
#else
|
||||
static __inline unsigned int
|
||||
__bswap_32 (unsigned int __bsx)
|
||||
{
|
||||
return __bswap_constant_32 (__bsx);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if __GNUC_PREREQ (2, 0)
|
||||
/* Swap bytes in 64 bit value. */
|
||||
# define __bswap_constant_64(x) \
|
||||
(__extension__ ((((x) & 0xff00000000000000ull) >> 56) \
|
||||
| (((x) & 0x00ff000000000000ull) >> 40) \
|
||||
| (((x) & 0x0000ff0000000000ull) >> 24) \
|
||||
| (((x) & 0x000000ff00000000ull) >> 8) \
|
||||
| (((x) & 0x00000000ff000000ull) << 8) \
|
||||
| (((x) & 0x0000000000ff0000ull) << 24) \
|
||||
| (((x) & 0x000000000000ff00ull) << 40) \
|
||||
| (((x) & 0x00000000000000ffull) << 56)))
|
||||
|
||||
# if __GNUC_PREREQ (4, 3)
|
||||
static __inline __uint64_t
|
||||
__bswap_64 (__uint64_t __bsx)
|
||||
{
|
||||
return __builtin_bswap64 (__bsx);
|
||||
}
|
||||
# elif __WORDSIZE == 64
|
||||
# define __bswap_64(x) \
|
||||
(__extension__ \
|
||||
({ __uint64_t __v, __x = (x); \
|
||||
if (__builtin_constant_p (__x)) \
|
||||
__v = __bswap_constant_64 (__x); \
|
||||
else \
|
||||
__asm__ ("bswap %q0" : "=r" (__v) : "0" (__x)); \
|
||||
__v; }))
|
||||
# else
|
||||
# define __bswap_64(x) \
|
||||
(__extension__ \
|
||||
({ union { __extension__ __uint64_t __ll; \
|
||||
unsigned int __l[2]; } __w, __r; \
|
||||
if (__builtin_constant_p (x)) \
|
||||
__r.__ll = __bswap_constant_64 (x); \
|
||||
else \
|
||||
{ \
|
||||
__w.__ll = (x); \
|
||||
__r.__l[0] = __bswap_32 (__w.__l[1]); \
|
||||
__r.__l[1] = __bswap_32 (__w.__l[0]); \
|
||||
} \
|
||||
__r.__ll; }))
|
||||
# endif
|
||||
#else
|
||||
# define __bswap_constant_64(x) \
|
||||
((((x) & 0xff00000000000000ull) >> 56) \
|
||||
| (((x) & 0x00ff000000000000ull) >> 40) \
|
||||
| (((x) & 0x0000ff0000000000ull) >> 24) \
|
||||
| (((x) & 0x000000ff00000000ull) >> 8) \
|
||||
| (((x) & 0x00000000ff000000ull) << 8) \
|
||||
| (((x) & 0x0000000000ff0000ull) << 24) \
|
||||
| (((x) & 0x000000000000ff00ull) << 40) \
|
||||
| (((x) & 0x00000000000000ffull) << 56))
|
||||
|
||||
static __inline __uint64_t
|
||||
__bswap_64 (__uint64_t __bsx)
|
||||
{
|
||||
return __bswap_constant_64 (__bsx);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _BITS_BYTESWAP_H */
|
|
@ -1,675 +0,0 @@
|
|||
/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.
|
||||
Copyright (C) 1993-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _UNISTD_H
|
||||
# error "Never use <bits/confname.h> directly; include <unistd.h> instead."
|
||||
#endif
|
||||
|
||||
/* Values for the NAME argument to `pathconf' and `fpathconf'. */
|
||||
enum
|
||||
{
|
||||
_PC_LINK_MAX,
|
||||
#define _PC_LINK_MAX _PC_LINK_MAX
|
||||
_PC_MAX_CANON,
|
||||
#define _PC_MAX_CANON _PC_MAX_CANON
|
||||
_PC_MAX_INPUT,
|
||||
#define _PC_MAX_INPUT _PC_MAX_INPUT
|
||||
_PC_NAME_MAX,
|
||||
#define _PC_NAME_MAX _PC_NAME_MAX
|
||||
_PC_PATH_MAX,
|
||||
#define _PC_PATH_MAX _PC_PATH_MAX
|
||||
_PC_PIPE_BUF,
|
||||
#define _PC_PIPE_BUF _PC_PIPE_BUF
|
||||
_PC_CHOWN_RESTRICTED,
|
||||
#define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED
|
||||
_PC_NO_TRUNC,
|
||||
#define _PC_NO_TRUNC _PC_NO_TRUNC
|
||||
_PC_VDISABLE,
|
||||
#define _PC_VDISABLE _PC_VDISABLE
|
||||
_PC_SYNC_IO,
|
||||
#define _PC_SYNC_IO _PC_SYNC_IO
|
||||
_PC_ASYNC_IO,
|
||||
#define _PC_ASYNC_IO _PC_ASYNC_IO
|
||||
_PC_PRIO_IO,
|
||||
#define _PC_PRIO_IO _PC_PRIO_IO
|
||||
_PC_SOCK_MAXBUF,
|
||||
#define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF
|
||||
_PC_FILESIZEBITS,
|
||||
#define _PC_FILESIZEBITS _PC_FILESIZEBITS
|
||||
_PC_REC_INCR_XFER_SIZE,
|
||||
#define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE
|
||||
_PC_REC_MAX_XFER_SIZE,
|
||||
#define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE
|
||||
_PC_REC_MIN_XFER_SIZE,
|
||||
#define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE
|
||||
_PC_REC_XFER_ALIGN,
|
||||
#define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN
|
||||
_PC_ALLOC_SIZE_MIN,
|
||||
#define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN
|
||||
_PC_SYMLINK_MAX,
|
||||
#define _PC_SYMLINK_MAX _PC_SYMLINK_MAX
|
||||
_PC_2_SYMLINKS
|
||||
#define _PC_2_SYMLINKS _PC_2_SYMLINKS
|
||||
};
|
||||
|
||||
/* Values for the argument to `sysconf'. */
|
||||
enum
|
||||
{
|
||||
_SC_ARG_MAX,
|
||||
#define _SC_ARG_MAX _SC_ARG_MAX
|
||||
_SC_CHILD_MAX,
|
||||
#define _SC_CHILD_MAX _SC_CHILD_MAX
|
||||
_SC_CLK_TCK,
|
||||
#define _SC_CLK_TCK _SC_CLK_TCK
|
||||
_SC_NGROUPS_MAX,
|
||||
#define _SC_NGROUPS_MAX _SC_NGROUPS_MAX
|
||||
_SC_OPEN_MAX,
|
||||
#define _SC_OPEN_MAX _SC_OPEN_MAX
|
||||
_SC_STREAM_MAX,
|
||||
#define _SC_STREAM_MAX _SC_STREAM_MAX
|
||||
_SC_TZNAME_MAX,
|
||||
#define _SC_TZNAME_MAX _SC_TZNAME_MAX
|
||||
_SC_JOB_CONTROL,
|
||||
#define _SC_JOB_CONTROL _SC_JOB_CONTROL
|
||||
_SC_SAVED_IDS,
|
||||
#define _SC_SAVED_IDS _SC_SAVED_IDS
|
||||
_SC_REALTIME_SIGNALS,
|
||||
#define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS
|
||||
_SC_PRIORITY_SCHEDULING,
|
||||
#define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING
|
||||
_SC_TIMERS,
|
||||
#define _SC_TIMERS _SC_TIMERS
|
||||
_SC_ASYNCHRONOUS_IO,
|
||||
#define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO
|
||||
_SC_PRIORITIZED_IO,
|
||||
#define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO
|
||||
_SC_SYNCHRONIZED_IO,
|
||||
#define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO
|
||||
_SC_FSYNC,
|
||||
#define _SC_FSYNC _SC_FSYNC
|
||||
_SC_MAPPED_FILES,
|
||||
#define _SC_MAPPED_FILES _SC_MAPPED_FILES
|
||||
_SC_MEMLOCK,
|
||||
#define _SC_MEMLOCK _SC_MEMLOCK
|
||||
_SC_MEMLOCK_RANGE,
|
||||
#define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE
|
||||
_SC_MEMORY_PROTECTION,
|
||||
#define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION
|
||||
_SC_MESSAGE_PASSING,
|
||||
#define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING
|
||||
_SC_SEMAPHORES,
|
||||
#define _SC_SEMAPHORES _SC_SEMAPHORES
|
||||
_SC_SHARED_MEMORY_OBJECTS,
|
||||
#define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS
|
||||
_SC_AIO_LISTIO_MAX,
|
||||
#define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX
|
||||
_SC_AIO_MAX,
|
||||
#define _SC_AIO_MAX _SC_AIO_MAX
|
||||
_SC_AIO_PRIO_DELTA_MAX,
|
||||
#define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX
|
||||
_SC_DELAYTIMER_MAX,
|
||||
#define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX
|
||||
_SC_MQ_OPEN_MAX,
|
||||
#define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX
|
||||
_SC_MQ_PRIO_MAX,
|
||||
#define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX
|
||||
_SC_VERSION,
|
||||
#define _SC_VERSION _SC_VERSION
|
||||
_SC_PAGESIZE,
|
||||
#define _SC_PAGESIZE _SC_PAGESIZE
|
||||
#define _SC_PAGE_SIZE _SC_PAGESIZE
|
||||
_SC_RTSIG_MAX,
|
||||
#define _SC_RTSIG_MAX _SC_RTSIG_MAX
|
||||
_SC_SEM_NSEMS_MAX,
|
||||
#define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX
|
||||
_SC_SEM_VALUE_MAX,
|
||||
#define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX
|
||||
_SC_SIGQUEUE_MAX,
|
||||
#define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX
|
||||
_SC_TIMER_MAX,
|
||||
#define _SC_TIMER_MAX _SC_TIMER_MAX
|
||||
|
||||
/* Values for the argument to `sysconf'
|
||||
corresponding to _POSIX2_* symbols. */
|
||||
_SC_BC_BASE_MAX,
|
||||
#define _SC_BC_BASE_MAX _SC_BC_BASE_MAX
|
||||
_SC_BC_DIM_MAX,
|
||||
#define _SC_BC_DIM_MAX _SC_BC_DIM_MAX
|
||||
_SC_BC_SCALE_MAX,
|
||||
#define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX
|
||||
_SC_BC_STRING_MAX,
|
||||
#define _SC_BC_STRING_MAX _SC_BC_STRING_MAX
|
||||
_SC_COLL_WEIGHTS_MAX,
|
||||
#define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX
|
||||
_SC_EQUIV_CLASS_MAX,
|
||||
#define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX
|
||||
_SC_EXPR_NEST_MAX,
|
||||
#define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX
|
||||
_SC_LINE_MAX,
|
||||
#define _SC_LINE_MAX _SC_LINE_MAX
|
||||
_SC_RE_DUP_MAX,
|
||||
#define _SC_RE_DUP_MAX _SC_RE_DUP_MAX
|
||||
_SC_CHARCLASS_NAME_MAX,
|
||||
#define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX
|
||||
|
||||
_SC_2_VERSION,
|
||||
#define _SC_2_VERSION _SC_2_VERSION
|
||||
_SC_2_C_BIND,
|
||||
#define _SC_2_C_BIND _SC_2_C_BIND
|
||||
_SC_2_C_DEV,
|
||||
#define _SC_2_C_DEV _SC_2_C_DEV
|
||||
_SC_2_FORT_DEV,
|
||||
#define _SC_2_FORT_DEV _SC_2_FORT_DEV
|
||||
_SC_2_FORT_RUN,
|
||||
#define _SC_2_FORT_RUN _SC_2_FORT_RUN
|
||||
_SC_2_SW_DEV,
|
||||
#define _SC_2_SW_DEV _SC_2_SW_DEV
|
||||
_SC_2_LOCALEDEF,
|
||||
#define _SC_2_LOCALEDEF _SC_2_LOCALEDEF
|
||||
|
||||
_SC_PII,
|
||||
#define _SC_PII _SC_PII
|
||||
_SC_PII_XTI,
|
||||
#define _SC_PII_XTI _SC_PII_XTI
|
||||
_SC_PII_SOCKET,
|
||||
#define _SC_PII_SOCKET _SC_PII_SOCKET
|
||||
_SC_PII_INTERNET,
|
||||
#define _SC_PII_INTERNET _SC_PII_INTERNET
|
||||
_SC_PII_OSI,
|
||||
#define _SC_PII_OSI _SC_PII_OSI
|
||||
_SC_POLL,
|
||||
#define _SC_POLL _SC_POLL
|
||||
_SC_SELECT,
|
||||
#define _SC_SELECT _SC_SELECT
|
||||
_SC_UIO_MAXIOV,
|
||||
#define _SC_UIO_MAXIOV _SC_UIO_MAXIOV
|
||||
_SC_IOV_MAX = _SC_UIO_MAXIOV,
|
||||
#define _SC_IOV_MAX _SC_IOV_MAX
|
||||
_SC_PII_INTERNET_STREAM,
|
||||
#define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM
|
||||
_SC_PII_INTERNET_DGRAM,
|
||||
#define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM
|
||||
_SC_PII_OSI_COTS,
|
||||
#define _SC_PII_OSI_COTS _SC_PII_OSI_COTS
|
||||
_SC_PII_OSI_CLTS,
|
||||
#define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS
|
||||
_SC_PII_OSI_M,
|
||||
#define _SC_PII_OSI_M _SC_PII_OSI_M
|
||||
_SC_T_IOV_MAX,
|
||||
#define _SC_T_IOV_MAX _SC_T_IOV_MAX
|
||||
|
||||
/* Values according to POSIX 1003.1c (POSIX threads). */
|
||||
_SC_THREADS,
|
||||
#define _SC_THREADS _SC_THREADS
|
||||
_SC_THREAD_SAFE_FUNCTIONS,
|
||||
#define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS
|
||||
_SC_GETGR_R_SIZE_MAX,
|
||||
#define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX
|
||||
_SC_GETPW_R_SIZE_MAX,
|
||||
#define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX
|
||||
_SC_LOGIN_NAME_MAX,
|
||||
#define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX
|
||||
_SC_TTY_NAME_MAX,
|
||||
#define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX
|
||||
_SC_THREAD_DESTRUCTOR_ITERATIONS,
|
||||
#define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS
|
||||
_SC_THREAD_KEYS_MAX,
|
||||
#define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX
|
||||
_SC_THREAD_STACK_MIN,
|
||||
#define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN
|
||||
_SC_THREAD_THREADS_MAX,
|
||||
#define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX
|
||||
_SC_THREAD_ATTR_STACKADDR,
|
||||
#define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR
|
||||
_SC_THREAD_ATTR_STACKSIZE,
|
||||
#define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE
|
||||
_SC_THREAD_PRIORITY_SCHEDULING,
|
||||
#define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING
|
||||
_SC_THREAD_PRIO_INHERIT,
|
||||
#define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT
|
||||
_SC_THREAD_PRIO_PROTECT,
|
||||
#define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT
|
||||
_SC_THREAD_PROCESS_SHARED,
|
||||
#define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED
|
||||
|
||||
_SC_NPROCESSORS_CONF,
|
||||
#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF
|
||||
_SC_NPROCESSORS_ONLN,
|
||||
#define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN
|
||||
_SC_PHYS_PAGES,
|
||||
#define _SC_PHYS_PAGES _SC_PHYS_PAGES
|
||||
_SC_AVPHYS_PAGES,
|
||||
#define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES
|
||||
_SC_ATEXIT_MAX,
|
||||
#define _SC_ATEXIT_MAX _SC_ATEXIT_MAX
|
||||
_SC_PASS_MAX,
|
||||
#define _SC_PASS_MAX _SC_PASS_MAX
|
||||
|
||||
_SC_XOPEN_VERSION,
|
||||
#define _SC_XOPEN_VERSION _SC_XOPEN_VERSION
|
||||
_SC_XOPEN_XCU_VERSION,
|
||||
#define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION
|
||||
_SC_XOPEN_UNIX,
|
||||
#define _SC_XOPEN_UNIX _SC_XOPEN_UNIX
|
||||
_SC_XOPEN_CRYPT,
|
||||
#define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT
|
||||
_SC_XOPEN_ENH_I18N,
|
||||
#define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N
|
||||
_SC_XOPEN_SHM,
|
||||
#define _SC_XOPEN_SHM _SC_XOPEN_SHM
|
||||
|
||||
_SC_2_CHAR_TERM,
|
||||
#define _SC_2_CHAR_TERM _SC_2_CHAR_TERM
|
||||
_SC_2_C_VERSION,
|
||||
#define _SC_2_C_VERSION _SC_2_C_VERSION
|
||||
_SC_2_UPE,
|
||||
#define _SC_2_UPE _SC_2_UPE
|
||||
|
||||
_SC_XOPEN_XPG2,
|
||||
#define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2
|
||||
_SC_XOPEN_XPG3,
|
||||
#define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3
|
||||
_SC_XOPEN_XPG4,
|
||||
#define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4
|
||||
|
||||
_SC_CHAR_BIT,
|
||||
#define _SC_CHAR_BIT _SC_CHAR_BIT
|
||||
_SC_CHAR_MAX,
|
||||
#define _SC_CHAR_MAX _SC_CHAR_MAX
|
||||
_SC_CHAR_MIN,
|
||||
#define _SC_CHAR_MIN _SC_CHAR_MIN
|
||||
_SC_INT_MAX,
|
||||
#define _SC_INT_MAX _SC_INT_MAX
|
||||
_SC_INT_MIN,
|
||||
#define _SC_INT_MIN _SC_INT_MIN
|
||||
_SC_LONG_BIT,
|
||||
#define _SC_LONG_BIT _SC_LONG_BIT
|
||||
_SC_WORD_BIT,
|
||||
#define _SC_WORD_BIT _SC_WORD_BIT
|
||||
_SC_MB_LEN_MAX,
|
||||
#define _SC_MB_LEN_MAX _SC_MB_LEN_MAX
|
||||
_SC_NZERO,
|
||||
#define _SC_NZERO _SC_NZERO
|
||||
_SC_SSIZE_MAX,
|
||||
#define _SC_SSIZE_MAX _SC_SSIZE_MAX
|
||||
_SC_SCHAR_MAX,
|
||||
#define _SC_SCHAR_MAX _SC_SCHAR_MAX
|
||||
_SC_SCHAR_MIN,
|
||||
#define _SC_SCHAR_MIN _SC_SCHAR_MIN
|
||||
_SC_SHRT_MAX,
|
||||
#define _SC_SHRT_MAX _SC_SHRT_MAX
|
||||
_SC_SHRT_MIN,
|
||||
#define _SC_SHRT_MIN _SC_SHRT_MIN
|
||||
_SC_UCHAR_MAX,
|
||||
#define _SC_UCHAR_MAX _SC_UCHAR_MAX
|
||||
_SC_UINT_MAX,
|
||||
#define _SC_UINT_MAX _SC_UINT_MAX
|
||||
_SC_ULONG_MAX,
|
||||
#define _SC_ULONG_MAX _SC_ULONG_MAX
|
||||
_SC_USHRT_MAX,
|
||||
#define _SC_USHRT_MAX _SC_USHRT_MAX
|
||||
|
||||
_SC_NL_ARGMAX,
|
||||
#define _SC_NL_ARGMAX _SC_NL_ARGMAX
|
||||
_SC_NL_LANGMAX,
|
||||
#define _SC_NL_LANGMAX _SC_NL_LANGMAX
|
||||
_SC_NL_MSGMAX,
|
||||
#define _SC_NL_MSGMAX _SC_NL_MSGMAX
|
||||
_SC_NL_NMAX,
|
||||
#define _SC_NL_NMAX _SC_NL_NMAX
|
||||
_SC_NL_SETMAX,
|
||||
#define _SC_NL_SETMAX _SC_NL_SETMAX
|
||||
_SC_NL_TEXTMAX,
|
||||
#define _SC_NL_TEXTMAX _SC_NL_TEXTMAX
|
||||
|
||||
_SC_XBS5_ILP32_OFF32,
|
||||
#define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32
|
||||
_SC_XBS5_ILP32_OFFBIG,
|
||||
#define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG
|
||||
_SC_XBS5_LP64_OFF64,
|
||||
#define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64
|
||||
_SC_XBS5_LPBIG_OFFBIG,
|
||||
#define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG
|
||||
|
||||
_SC_XOPEN_LEGACY,
|
||||
#define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY
|
||||
_SC_XOPEN_REALTIME,
|
||||
#define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME
|
||||
_SC_XOPEN_REALTIME_THREADS,
|
||||
#define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS
|
||||
|
||||
_SC_ADVISORY_INFO,
|
||||
#define _SC_ADVISORY_INFO _SC_ADVISORY_INFO
|
||||
_SC_BARRIERS,
|
||||
#define _SC_BARRIERS _SC_BARRIERS
|
||||
_SC_BASE,
|
||||
#define _SC_BASE _SC_BASE
|
||||
_SC_C_LANG_SUPPORT,
|
||||
#define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT
|
||||
_SC_C_LANG_SUPPORT_R,
|
||||
#define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R
|
||||
_SC_CLOCK_SELECTION,
|
||||
#define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION
|
||||
_SC_CPUTIME,
|
||||
#define _SC_CPUTIME _SC_CPUTIME
|
||||
_SC_THREAD_CPUTIME,
|
||||
#define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME
|
||||
_SC_DEVICE_IO,
|
||||
#define _SC_DEVICE_IO _SC_DEVICE_IO
|
||||
_SC_DEVICE_SPECIFIC,
|
||||
#define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC
|
||||
_SC_DEVICE_SPECIFIC_R,
|
||||
#define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R
|
||||
_SC_FD_MGMT,
|
||||
#define _SC_FD_MGMT _SC_FD_MGMT
|
||||
_SC_FIFO,
|
||||
#define _SC_FIFO _SC_FIFO
|
||||
_SC_PIPE,
|
||||
#define _SC_PIPE _SC_PIPE
|
||||
_SC_FILE_ATTRIBUTES,
|
||||
#define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES
|
||||
_SC_FILE_LOCKING,
|
||||
#define _SC_FILE_LOCKING _SC_FILE_LOCKING
|
||||
_SC_FILE_SYSTEM,
|
||||
#define _SC_FILE_SYSTEM _SC_FILE_SYSTEM
|
||||
_SC_MONOTONIC_CLOCK,
|
||||
#define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK
|
||||
_SC_MULTI_PROCESS,
|
||||
#define _SC_MULTI_PROCESS _SC_MULTI_PROCESS
|
||||
_SC_SINGLE_PROCESS,
|
||||
#define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS
|
||||
_SC_NETWORKING,
|
||||
#define _SC_NETWORKING _SC_NETWORKING
|
||||
_SC_READER_WRITER_LOCKS,
|
||||
#define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS
|
||||
_SC_SPIN_LOCKS,
|
||||
#define _SC_SPIN_LOCKS _SC_SPIN_LOCKS
|
||||
_SC_REGEXP,
|
||||
#define _SC_REGEXP _SC_REGEXP
|
||||
_SC_REGEX_VERSION,
|
||||
#define _SC_REGEX_VERSION _SC_REGEX_VERSION
|
||||
_SC_SHELL,
|
||||
#define _SC_SHELL _SC_SHELL
|
||||
_SC_SIGNALS,
|
||||
#define _SC_SIGNALS _SC_SIGNALS
|
||||
_SC_SPAWN,
|
||||
#define _SC_SPAWN _SC_SPAWN
|
||||
_SC_SPORADIC_SERVER,
|
||||
#define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER
|
||||
_SC_THREAD_SPORADIC_SERVER,
|
||||
#define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER
|
||||
_SC_SYSTEM_DATABASE,
|
||||
#define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE
|
||||
_SC_SYSTEM_DATABASE_R,
|
||||
#define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R
|
||||
_SC_TIMEOUTS,
|
||||
#define _SC_TIMEOUTS _SC_TIMEOUTS
|
||||
_SC_TYPED_MEMORY_OBJECTS,
|
||||
#define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS
|
||||
_SC_USER_GROUPS,
|
||||
#define _SC_USER_GROUPS _SC_USER_GROUPS
|
||||
_SC_USER_GROUPS_R,
|
||||
#define _SC_USER_GROUPS_R _SC_USER_GROUPS_R
|
||||
_SC_2_PBS,
|
||||
#define _SC_2_PBS _SC_2_PBS
|
||||
_SC_2_PBS_ACCOUNTING,
|
||||
#define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING
|
||||
_SC_2_PBS_LOCATE,
|
||||
#define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE
|
||||
_SC_2_PBS_MESSAGE,
|
||||
#define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE
|
||||
_SC_2_PBS_TRACK,
|
||||
#define _SC_2_PBS_TRACK _SC_2_PBS_TRACK
|
||||
_SC_SYMLOOP_MAX,
|
||||
#define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX
|
||||
_SC_STREAMS,
|
||||
#define _SC_STREAMS _SC_STREAMS
|
||||
_SC_2_PBS_CHECKPOINT,
|
||||
#define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT
|
||||
|
||||
_SC_V6_ILP32_OFF32,
|
||||
#define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32
|
||||
_SC_V6_ILP32_OFFBIG,
|
||||
#define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG
|
||||
_SC_V6_LP64_OFF64,
|
||||
#define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64
|
||||
_SC_V6_LPBIG_OFFBIG,
|
||||
#define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG
|
||||
|
||||
_SC_HOST_NAME_MAX,
|
||||
#define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX
|
||||
_SC_TRACE,
|
||||
#define _SC_TRACE _SC_TRACE
|
||||
_SC_TRACE_EVENT_FILTER,
|
||||
#define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER
|
||||
_SC_TRACE_INHERIT,
|
||||
#define _SC_TRACE_INHERIT _SC_TRACE_INHERIT
|
||||
_SC_TRACE_LOG,
|
||||
#define _SC_TRACE_LOG _SC_TRACE_LOG
|
||||
|
||||
_SC_LEVEL1_ICACHE_SIZE,
|
||||
#define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE
|
||||
_SC_LEVEL1_ICACHE_ASSOC,
|
||||
#define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC
|
||||
_SC_LEVEL1_ICACHE_LINESIZE,
|
||||
#define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE
|
||||
_SC_LEVEL1_DCACHE_SIZE,
|
||||
#define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE
|
||||
_SC_LEVEL1_DCACHE_ASSOC,
|
||||
#define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC
|
||||
_SC_LEVEL1_DCACHE_LINESIZE,
|
||||
#define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE
|
||||
_SC_LEVEL2_CACHE_SIZE,
|
||||
#define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE
|
||||
_SC_LEVEL2_CACHE_ASSOC,
|
||||
#define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC
|
||||
_SC_LEVEL2_CACHE_LINESIZE,
|
||||
#define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE
|
||||
_SC_LEVEL3_CACHE_SIZE,
|
||||
#define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE
|
||||
_SC_LEVEL3_CACHE_ASSOC,
|
||||
#define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC
|
||||
_SC_LEVEL3_CACHE_LINESIZE,
|
||||
#define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE
|
||||
_SC_LEVEL4_CACHE_SIZE,
|
||||
#define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE
|
||||
_SC_LEVEL4_CACHE_ASSOC,
|
||||
#define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC
|
||||
_SC_LEVEL4_CACHE_LINESIZE,
|
||||
#define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE
|
||||
/* Leave room here, maybe we need a few more cache levels some day. */
|
||||
|
||||
_SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
|
||||
#define _SC_IPV6 _SC_IPV6
|
||||
_SC_RAW_SOCKETS,
|
||||
#define _SC_RAW_SOCKETS _SC_RAW_SOCKETS
|
||||
|
||||
_SC_V7_ILP32_OFF32,
|
||||
#define _SC_V7_ILP32_OFF32 _SC_V7_ILP32_OFF32
|
||||
_SC_V7_ILP32_OFFBIG,
|
||||
#define _SC_V7_ILP32_OFFBIG _SC_V7_ILP32_OFFBIG
|
||||
_SC_V7_LP64_OFF64,
|
||||
#define _SC_V7_LP64_OFF64 _SC_V7_LP64_OFF64
|
||||
_SC_V7_LPBIG_OFFBIG,
|
||||
#define _SC_V7_LPBIG_OFFBIG _SC_V7_LPBIG_OFFBIG
|
||||
|
||||
_SC_SS_REPL_MAX,
|
||||
#define _SC_SS_REPL_MAX _SC_SS_REPL_MAX
|
||||
|
||||
_SC_TRACE_EVENT_NAME_MAX,
|
||||
#define _SC_TRACE_EVENT_NAME_MAX _SC_TRACE_EVENT_NAME_MAX
|
||||
_SC_TRACE_NAME_MAX,
|
||||
#define _SC_TRACE_NAME_MAX _SC_TRACE_NAME_MAX
|
||||
_SC_TRACE_SYS_MAX,
|
||||
#define _SC_TRACE_SYS_MAX _SC_TRACE_SYS_MAX
|
||||
_SC_TRACE_USER_EVENT_MAX,
|
||||
#define _SC_TRACE_USER_EVENT_MAX _SC_TRACE_USER_EVENT_MAX
|
||||
|
||||
_SC_XOPEN_STREAMS,
|
||||
#define _SC_XOPEN_STREAMS _SC_XOPEN_STREAMS
|
||||
|
||||
_SC_THREAD_ROBUST_PRIO_INHERIT,
|
||||
#define _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT
|
||||
_SC_THREAD_ROBUST_PRIO_PROTECT
|
||||
#define _SC_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECT
|
||||
};
|
||||
|
||||
/* Values for the NAME argument to `confstr'. */
|
||||
enum
|
||||
{
|
||||
_CS_PATH, /* The default search path. */
|
||||
#define _CS_PATH _CS_PATH
|
||||
|
||||
_CS_V6_WIDTH_RESTRICTED_ENVS,
|
||||
#define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
|
||||
#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
|
||||
|
||||
_CS_GNU_LIBC_VERSION,
|
||||
#define _CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSION
|
||||
_CS_GNU_LIBPTHREAD_VERSION,
|
||||
#define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION
|
||||
|
||||
_CS_V5_WIDTH_RESTRICTED_ENVS,
|
||||
#define _CS_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS
|
||||
#define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS
|
||||
|
||||
_CS_V7_WIDTH_RESTRICTED_ENVS,
|
||||
#define _CS_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS
|
||||
#define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS
|
||||
|
||||
_CS_LFS_CFLAGS = 1000,
|
||||
#define _CS_LFS_CFLAGS _CS_LFS_CFLAGS
|
||||
_CS_LFS_LDFLAGS,
|
||||
#define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS
|
||||
_CS_LFS_LIBS,
|
||||
#define _CS_LFS_LIBS _CS_LFS_LIBS
|
||||
_CS_LFS_LINTFLAGS,
|
||||
#define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS
|
||||
_CS_LFS64_CFLAGS,
|
||||
#define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS
|
||||
_CS_LFS64_LDFLAGS,
|
||||
#define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS
|
||||
_CS_LFS64_LIBS,
|
||||
#define _CS_LFS64_LIBS _CS_LFS64_LIBS
|
||||
_CS_LFS64_LINTFLAGS,
|
||||
#define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS
|
||||
|
||||
_CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
|
||||
#define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
|
||||
_CS_XBS5_ILP32_OFF32_LDFLAGS,
|
||||
#define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
|
||||
_CS_XBS5_ILP32_OFF32_LIBS,
|
||||
#define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
|
||||
_CS_XBS5_ILP32_OFF32_LINTFLAGS,
|
||||
#define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
|
||||
_CS_XBS5_ILP32_OFFBIG_CFLAGS,
|
||||
#define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
|
||||
_CS_XBS5_ILP32_OFFBIG_LDFLAGS,
|
||||
#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
|
||||
_CS_XBS5_ILP32_OFFBIG_LIBS,
|
||||
#define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
|
||||
_CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
|
||||
#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
|
||||
_CS_XBS5_LP64_OFF64_CFLAGS,
|
||||
#define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
|
||||
_CS_XBS5_LP64_OFF64_LDFLAGS,
|
||||
#define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
|
||||
_CS_XBS5_LP64_OFF64_LIBS,
|
||||
#define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
|
||||
_CS_XBS5_LP64_OFF64_LINTFLAGS,
|
||||
#define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
|
||||
_CS_XBS5_LPBIG_OFFBIG_CFLAGS,
|
||||
#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
|
||||
_CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
|
||||
#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
|
||||
_CS_XBS5_LPBIG_OFFBIG_LIBS,
|
||||
#define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
|
||||
_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
|
||||
#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
|
||||
|
||||
_CS_POSIX_V6_ILP32_OFF32_CFLAGS,
|
||||
#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS
|
||||
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
|
||||
#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
|
||||
_CS_POSIX_V6_ILP32_OFF32_LIBS,
|
||||
#define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS
|
||||
_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
|
||||
#define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
|
||||
#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
|
||||
#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LIBS,
|
||||
#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
|
||||
#define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
|
||||
_CS_POSIX_V6_LP64_OFF64_CFLAGS,
|
||||
#define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS
|
||||
_CS_POSIX_V6_LP64_OFF64_LDFLAGS,
|
||||
#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS
|
||||
_CS_POSIX_V6_LP64_OFF64_LIBS,
|
||||
#define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS
|
||||
_CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
|
||||
#define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
|
||||
#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
|
||||
#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
|
||||
#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
|
||||
#define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
|
||||
|
||||
_CS_POSIX_V7_ILP32_OFF32_CFLAGS,
|
||||
#define _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS
|
||||
_CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
|
||||
#define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
|
||||
_CS_POSIX_V7_ILP32_OFF32_LIBS,
|
||||
#define _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS
|
||||
_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
|
||||
#define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
|
||||
_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
|
||||
#define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
|
||||
_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
|
||||
#define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
|
||||
_CS_POSIX_V7_ILP32_OFFBIG_LIBS,
|
||||
#define _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS
|
||||
_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
|
||||
#define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
|
||||
_CS_POSIX_V7_LP64_OFF64_CFLAGS,
|
||||
#define _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS
|
||||
_CS_POSIX_V7_LP64_OFF64_LDFLAGS,
|
||||
#define _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS
|
||||
_CS_POSIX_V7_LP64_OFF64_LIBS,
|
||||
#define _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS
|
||||
_CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
|
||||
#define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS
|
||||
_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
|
||||
#define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
|
||||
_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
|
||||
#define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
|
||||
_CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
|
||||
#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
|
||||
_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS,
|
||||
#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
|
||||
|
||||
_CS_V6_ENV,
|
||||
#define _CS_V6_ENV _CS_V6_ENV
|
||||
_CS_V7_ENV
|
||||
#define _CS_V7_ENV _CS_V7_ENV
|
||||
};
|
|
@ -1,7 +0,0 @@
|
|||
/* i386/x86_64 are little-endian. */
|
||||
|
||||
#ifndef _ENDIAN_H
|
||||
# error "Never use <bits/endian.h> directly; include <endian.h> instead."
|
||||
#endif
|
||||
|
||||
#define __BYTE_ORDER __LITTLE_ENDIAN
|
|
@ -1,105 +0,0 @@
|
|||
/* Copyright (C) 1999-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _UNISTD_H
|
||||
# error "Never include this file directly. Use <unistd.h> instead"
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
/* This header should define the following symbols under the described
|
||||
situations. A value `1' means that the model is always supported,
|
||||
`-1' means it is never supported. Undefined means it cannot be
|
||||
statically decided.
|
||||
|
||||
_POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
|
||||
_POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
|
||||
|
||||
_POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
|
||||
_POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
|
||||
|
||||
The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
|
||||
_POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
|
||||
_XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
|
||||
used in previous versions of the Unix standard and are available
|
||||
only for compatibility.
|
||||
*/
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
|
||||
/* Environments with 32-bit wide pointers are optionally provided.
|
||||
Therefore following macros aren't defined:
|
||||
# undef _POSIX_V7_ILP32_OFF32
|
||||
# undef _POSIX_V7_ILP32_OFFBIG
|
||||
# undef _POSIX_V6_ILP32_OFF32
|
||||
# undef _POSIX_V6_ILP32_OFFBIG
|
||||
# undef _XBS5_ILP32_OFF32
|
||||
# undef _XBS5_ILP32_OFFBIG
|
||||
and users need to check at runtime. */
|
||||
|
||||
/* We also have no use (for now) for an environment with bigger pointers
|
||||
and offsets. */
|
||||
# define _POSIX_V7_LPBIG_OFFBIG -1
|
||||
# define _POSIX_V6_LPBIG_OFFBIG -1
|
||||
# define _XBS5_LPBIG_OFFBIG -1
|
||||
|
||||
/* By default we have 64-bit wide `long int', pointers and `off_t'. */
|
||||
# define _POSIX_V7_LP64_OFF64 1
|
||||
# define _POSIX_V6_LP64_OFF64 1
|
||||
# define _XBS5_LP64_OFF64 1
|
||||
|
||||
#else /* __WORDSIZE == 32 */
|
||||
|
||||
/* We have 32-bit wide `int', `long int' and pointers and all platforms
|
||||
support LFS. -mx32 has 64-bit wide `off_t'. */
|
||||
# define _POSIX_V7_ILP32_OFFBIG 1
|
||||
# define _POSIX_V6_ILP32_OFFBIG 1
|
||||
# define _XBS5_ILP32_OFFBIG 1
|
||||
|
||||
# ifndef __x86_64__
|
||||
/* -m32 has 32-bit wide `off_t'. */
|
||||
# define _POSIX_V7_ILP32_OFF32 1
|
||||
# define _POSIX_V6_ILP32_OFF32 1
|
||||
# define _XBS5_ILP32_OFF32 1
|
||||
# endif
|
||||
|
||||
/* We optionally provide an environment with the above size but an 64-bit
|
||||
side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
|
||||
|
||||
/* Environments with 64-bit wide pointers can be provided,
|
||||
so these macros aren't defined:
|
||||
# undef _POSIX_V7_LP64_OFF64
|
||||
# undef _POSIX_V7_LPBIG_OFFBIG
|
||||
# undef _POSIX_V6_LP64_OFF64
|
||||
# undef _POSIX_V6_LPBIG_OFFBIG
|
||||
# undef _XBS5_LP64_OFF64
|
||||
# undef _XBS5_LPBIG_OFFBIG
|
||||
and sysconf tests for it at runtime. */
|
||||
|
||||
#endif /* __WORDSIZE == 32 */
|
||||
|
||||
#define __ILP32_OFF32_CFLAGS "-m32"
|
||||
#define __ILP32_OFF32_LDFLAGS "-m32"
|
||||
#if defined __x86_64__ && defined __ILP32__
|
||||
# define __ILP32_OFFBIG_CFLAGS "-mx32"
|
||||
# define __ILP32_OFFBIG_LDFLAGS "-mx32"
|
||||
#else
|
||||
# define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
# define __ILP32_OFFBIG_LDFLAGS "-m32"
|
||||
#endif
|
||||
#define __LP64_OFF64_CFLAGS "-m64"
|
||||
#define __LP64_OFF64_LDFLAGS "-m64"
|
|
@ -1,66 +0,0 @@
|
|||
/* Error constants. Linux specific version.
|
||||
Copyright (C) 1996-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifdef _ERRNO_H
|
||||
|
||||
# undef EDOM
|
||||
# undef EILSEQ
|
||||
# undef ERANGE
|
||||
# include <linux/errno.h>
|
||||
|
||||
/* Linux has no ENOTSUP error code. */
|
||||
# define ENOTSUP EOPNOTSUPP
|
||||
|
||||
/* Older Linux versions also had no ECANCELED error code. */
|
||||
# ifndef ECANCELED
|
||||
# define ECANCELED 125
|
||||
# endif
|
||||
|
||||
/* Support for error codes to support robust mutexes was added later, too. */
|
||||
# ifndef EOWNERDEAD
|
||||
# define EOWNERDEAD 130
|
||||
# define ENOTRECOVERABLE 131
|
||||
# endif
|
||||
|
||||
# ifndef ERFKILL
|
||||
# define ERFKILL 132
|
||||
# endif
|
||||
|
||||
# ifndef EHWPOISON
|
||||
# define EHWPOISON 133
|
||||
# endif
|
||||
|
||||
# ifndef __ASSEMBLER__
|
||||
/* Function to get address of global `errno' variable. */
|
||||
extern int *__errno_location (void) __THROW __attribute__ ((__const__));
|
||||
|
||||
# if !defined _LIBC || defined _LIBC_REENTRANT
|
||||
/* When using threads, errno is a per-thread value. */
|
||||
# define errno (*__errno_location ())
|
||||
# endif
|
||||
# endif /* !__ASSEMBLER__ */
|
||||
#endif /* _ERRNO_H */
|
||||
|
||||
#if !defined _ERRNO_H && defined __need_Emath
|
||||
/* This is ugly but the kernel header is not clean enough. We must
|
||||
define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
|
||||
defined. */
|
||||
# define EDOM 33 /* Math argument out of domain of function. */
|
||||
# define EILSEQ 84 /* Illegal byte sequence. */
|
||||
# define ERANGE 34 /* Math result not representable. */
|
||||
#endif /* !_ERRNO_H && __need_Emath */
|
|
@ -1,187 +0,0 @@
|
|||
/* libc-internal interface for mutex locks. NPTL version.
|
||||
Copyright (C) 1996-2014 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; see the file COPYING.LIB. If
|
||||
not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_LIBC_LOCK_H
|
||||
#define _BITS_LIBC_LOCK_H 1
|
||||
|
||||
#include <pthread.h>
|
||||
#define __need_NULL
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
/* Mutex type. */
|
||||
#if defined _LIBC || defined _IO_MTSAFE_IO
|
||||
# if (defined NOT_IN_libc && !defined IS_IN_libpthread) || !defined _LIBC
|
||||
typedef struct { pthread_mutex_t mutex; } __libc_lock_recursive_t;
|
||||
# else
|
||||
typedef struct { int lock; int cnt; void *owner; } __libc_lock_recursive_t;
|
||||
# endif
|
||||
#else
|
||||
typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
|
||||
#endif
|
||||
|
||||
/* Define a lock variable NAME with storage class CLASS. The lock must be
|
||||
initialized with __libc_lock_init before it can be used (or define it
|
||||
with __libc_lock_define_initialized, below). Use `extern' for CLASS to
|
||||
declare a lock defined in another module. In public structure
|
||||
definitions you must use a pointer to the lock structure (i.e., NAME
|
||||
begins with a `*'), because its storage size will not be known outside
|
||||
of libc. */
|
||||
#define __libc_lock_define_recursive(CLASS,NAME) \
|
||||
CLASS __libc_lock_recursive_t NAME;
|
||||
|
||||
/* Define an initialized recursive lock variable NAME with storage
|
||||
class CLASS. */
|
||||
#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
|
||||
# define __libc_lock_define_initialized_recursive(CLASS, NAME) \
|
||||
CLASS __libc_lock_recursive_t NAME = _LIBC_LOCK_RECURSIVE_INITIALIZER;
|
||||
# define _LIBC_LOCK_RECURSIVE_INITIALIZER \
|
||||
{ LLL_LOCK_INITIALIZER, 0, NULL }
|
||||
#else
|
||||
# define __libc_lock_define_initialized_recursive(CLASS,NAME) \
|
||||
CLASS __libc_lock_recursive_t NAME = _LIBC_LOCK_RECURSIVE_INITIALIZER;
|
||||
# define _LIBC_LOCK_RECURSIVE_INITIALIZER \
|
||||
{PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP}
|
||||
#endif
|
||||
|
||||
/* Initialize a recursive mutex. */
|
||||
#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
|
||||
# define __libc_lock_init_recursive(NAME) \
|
||||
((NAME) = (__libc_lock_recursive_t) _LIBC_LOCK_RECURSIVE_INITIALIZER, 0)
|
||||
#else
|
||||
# define __libc_lock_init_recursive(NAME) \
|
||||
do { \
|
||||
if (__pthread_mutex_init != NULL) \
|
||||
{ \
|
||||
pthread_mutexattr_t __attr; \
|
||||
__pthread_mutexattr_init (&__attr); \
|
||||
__pthread_mutexattr_settype (&__attr, PTHREAD_MUTEX_RECURSIVE_NP); \
|
||||
__pthread_mutex_init (&(NAME).mutex, &__attr); \
|
||||
__pthread_mutexattr_destroy (&__attr); \
|
||||
} \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
/* Finalize recursive named lock. */
|
||||
#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
|
||||
# define __libc_lock_fini_recursive(NAME) ((void) 0)
|
||||
#else
|
||||
# define __libc_lock_fini_recursive(NAME) \
|
||||
__libc_maybe_call (__pthread_mutex_destroy, (&(NAME).mutex), 0)
|
||||
#endif
|
||||
|
||||
/* Lock the recursive named lock variable. */
|
||||
#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
|
||||
# define __libc_lock_lock_recursive(NAME) \
|
||||
do { \
|
||||
void *self = THREAD_SELF; \
|
||||
if ((NAME).owner != self) \
|
||||
{ \
|
||||
lll_lock ((NAME).lock, LLL_PRIVATE); \
|
||||
(NAME).owner = self; \
|
||||
} \
|
||||
++(NAME).cnt; \
|
||||
} while (0)
|
||||
#else
|
||||
# define __libc_lock_lock_recursive(NAME) \
|
||||
__libc_maybe_call (__pthread_mutex_lock, (&(NAME).mutex), 0)
|
||||
#endif
|
||||
|
||||
/* Try to lock the recursive named lock variable. */
|
||||
#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
|
||||
# define __libc_lock_trylock_recursive(NAME) \
|
||||
({ \
|
||||
int result = 0; \
|
||||
void *self = THREAD_SELF; \
|
||||
if ((NAME).owner != self) \
|
||||
{ \
|
||||
if (lll_trylock ((NAME).lock) == 0) \
|
||||
{ \
|
||||
(NAME).owner = self; \
|
||||
(NAME).cnt = 1; \
|
||||
} \
|
||||
else \
|
||||
result = EBUSY; \
|
||||
} \
|
||||
else \
|
||||
++(NAME).cnt; \
|
||||
result; \
|
||||
})
|
||||
#else
|
||||
# define __libc_lock_trylock_recursive(NAME) \
|
||||
__libc_maybe_call (__pthread_mutex_trylock, (&(NAME).mutex), 0)
|
||||
#endif
|
||||
|
||||
/* Unlock the recursive named lock variable. */
|
||||
#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
|
||||
/* We do no error checking here. */
|
||||
# define __libc_lock_unlock_recursive(NAME) \
|
||||
do { \
|
||||
if (--(NAME).cnt == 0) \
|
||||
{ \
|
||||
(NAME).owner = NULL; \
|
||||
lll_unlock ((NAME).lock, LLL_PRIVATE); \
|
||||
} \
|
||||
} while (0)
|
||||
#else
|
||||
# define __libc_lock_unlock_recursive(NAME) \
|
||||
__libc_maybe_call (__pthread_mutex_unlock, (&(NAME).mutex), 0)
|
||||
#endif
|
||||
|
||||
/* Note that for I/O cleanup handling we are using the old-style
|
||||
cancel handling. It does not have to be integrated with C++ since
|
||||
no C++ code is called in the middle. The old-style handling is
|
||||
faster and the support is not going away. */
|
||||
extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer,
|
||||
void (*routine) (void *), void *arg);
|
||||
extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer,
|
||||
int execute);
|
||||
|
||||
/* Start critical region with cleanup. */
|
||||
#define __libc_cleanup_region_start(DOIT, FCT, ARG) \
|
||||
{ struct _pthread_cleanup_buffer _buffer; \
|
||||
int _avail; \
|
||||
if (DOIT) { \
|
||||
_avail = PTFAVAIL (_pthread_cleanup_push_defer); \
|
||||
if (_avail) { \
|
||||
__libc_ptf_call_always (_pthread_cleanup_push_defer, (&_buffer, FCT, \
|
||||
ARG)); \
|
||||
} else { \
|
||||
_buffer.__routine = (FCT); \
|
||||
_buffer.__arg = (ARG); \
|
||||
} \
|
||||
} else { \
|
||||
_avail = 0; \
|
||||
}
|
||||
|
||||
/* End critical region with cleanup. */
|
||||
#define __libc_cleanup_region_end(DOIT) \
|
||||
if (_avail) { \
|
||||
__libc_ptf_call_always (_pthread_cleanup_pop_restore, (&_buffer, DOIT));\
|
||||
} else if (DOIT) \
|
||||
_buffer.__routine (_buffer.__arg); \
|
||||
}
|
||||
|
||||
|
||||
/* Hide the definitions which are only supposed to be used inside libc in
|
||||
a separate file. This file is not present in the installation! */
|
||||
#ifdef _LIBC
|
||||
# include "libc-lockP.h"
|
||||
#endif
|
||||
|
||||
#endif /* bits/libc-lock.h */
|
|
@ -1,24 +0,0 @@
|
|||
/* -mlong-double-64 compatibility mode for libio functions.
|
||||
Copyright (C) 2006-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _IO_STDIO_H
|
||||
# error "Never include <bits/libio-ldbl.h> directly; use <libio.h> instead."
|
||||
#endif
|
||||
|
||||
__LDBL_REDIR_DECL (_IO_vfscanf)
|
||||
__LDBL_REDIR_DECL (_IO_vfprintf)
|
|
@ -1,99 +0,0 @@
|
|||
/* Minimum guaranteed maximum values for system limits. Linux version.
|
||||
Copyright (C) 1993-2014 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; see the file COPYING.LIB. If
|
||||
not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* The kernel header pollutes the namespace with the NR_OPEN symbol
|
||||
and defines LINK_MAX although filesystems have different maxima. A
|
||||
similar thing is true for OPEN_MAX: the limit can be changed at
|
||||
runtime and therefore the macro must not be defined. Remove this
|
||||
after including the header if necessary. */
|
||||
#ifndef NR_OPEN
|
||||
# define __undef_NR_OPEN
|
||||
#endif
|
||||
#ifndef LINK_MAX
|
||||
# define __undef_LINK_MAX
|
||||
#endif
|
||||
#ifndef OPEN_MAX
|
||||
# define __undef_OPEN_MAX
|
||||
#endif
|
||||
#ifndef ARG_MAX
|
||||
# define __undef_ARG_MAX
|
||||
#endif
|
||||
|
||||
/* The kernel sources contain a file with all the needed information. */
|
||||
#include <linux/limits.h>
|
||||
|
||||
/* Have to remove NR_OPEN? */
|
||||
#ifdef __undef_NR_OPEN
|
||||
# undef NR_OPEN
|
||||
# undef __undef_NR_OPEN
|
||||
#endif
|
||||
/* Have to remove LINK_MAX? */
|
||||
#ifdef __undef_LINK_MAX
|
||||
# undef LINK_MAX
|
||||
# undef __undef_LINK_MAX
|
||||
#endif
|
||||
/* Have to remove OPEN_MAX? */
|
||||
#ifdef __undef_OPEN_MAX
|
||||
# undef OPEN_MAX
|
||||
# undef __undef_OPEN_MAX
|
||||
#endif
|
||||
/* Have to remove ARG_MAX? */
|
||||
#ifdef __undef_ARG_MAX
|
||||
# undef ARG_MAX
|
||||
# undef __undef_ARG_MAX
|
||||
#endif
|
||||
|
||||
/* The number of data keys per process. */
|
||||
#define _POSIX_THREAD_KEYS_MAX 128
|
||||
/* This is the value this implementation supports. */
|
||||
#define PTHREAD_KEYS_MAX 1024
|
||||
|
||||
/* Controlling the iterations of destructors for thread-specific data. */
|
||||
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
|
||||
/* Number of iterations this implementation does. */
|
||||
#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
|
||||
|
||||
/* The number of threads per process. */
|
||||
#define _POSIX_THREAD_THREADS_MAX 64
|
||||
/* We have no predefined limit on the number of threads. */
|
||||
#undef PTHREAD_THREADS_MAX
|
||||
|
||||
/* Maximum amount by which a process can descrease its asynchronous I/O
|
||||
priority level. */
|
||||
#define AIO_PRIO_DELTA_MAX 20
|
||||
|
||||
/* Minimum size for a thread. We are free to choose a reasonable value. */
|
||||
#define PTHREAD_STACK_MIN 16384
|
||||
|
||||
/* Maximum number of timer expiration overruns. */
|
||||
#define DELAYTIMER_MAX 2147483647
|
||||
|
||||
/* Maximum tty name length. */
|
||||
#define TTY_NAME_MAX 32
|
||||
|
||||
/* Maximum login name length. This is arbitrary. */
|
||||
#define LOGIN_NAME_MAX 256
|
||||
|
||||
/* Maximum host name length. */
|
||||
#define HOST_NAME_MAX 64
|
||||
|
||||
/* Maximum message queue priority level. */
|
||||
#define MQ_PRIO_MAX 32768
|
||||
|
||||
/* Maximum value the semaphore can have. */
|
||||
#define SEM_VALUE_MAX (2147483647)
|
|
@ -1,175 +0,0 @@
|
|||
/* Copyright (C) 1991-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/*
|
||||
* POSIX Standard: 2.9.2 Minimum Values Added to <limits.h>
|
||||
*
|
||||
* Never include this file directly; use <limits.h> instead.
|
||||
*/
|
||||
|
||||
#ifndef _BITS_POSIX1_LIM_H
|
||||
#define _BITS_POSIX1_LIM_H 1
|
||||
|
||||
|
||||
/* These are the standard-mandated minimum values. */
|
||||
|
||||
/* Minimum number of operations in one list I/O call. */
|
||||
#define _POSIX_AIO_LISTIO_MAX 2
|
||||
|
||||
/* Minimal number of outstanding asynchronous I/O operations. */
|
||||
#define _POSIX_AIO_MAX 1
|
||||
|
||||
/* Maximum length of arguments to `execve', including environment. */
|
||||
#define _POSIX_ARG_MAX 4096
|
||||
|
||||
/* Maximum simultaneous processes per real user ID. */
|
||||
#ifdef __USE_XOPEN2K
|
||||
# define _POSIX_CHILD_MAX 25
|
||||
#else
|
||||
# define _POSIX_CHILD_MAX 6
|
||||
#endif
|
||||
|
||||
/* Minimal number of timer expiration overruns. */
|
||||
#define _POSIX_DELAYTIMER_MAX 32
|
||||
|
||||
/* Maximum length of a host name (not including the terminating null)
|
||||
as returned from the GETHOSTNAME function. */
|
||||
#define _POSIX_HOST_NAME_MAX 255
|
||||
|
||||
/* Maximum link count of a file. */
|
||||
#define _POSIX_LINK_MAX 8
|
||||
|
||||
/* Maximum length of login name. */
|
||||
#define _POSIX_LOGIN_NAME_MAX 9
|
||||
|
||||
/* Number of bytes in a terminal canonical input queue. */
|
||||
#define _POSIX_MAX_CANON 255
|
||||
|
||||
/* Number of bytes for which space will be
|
||||
available in a terminal input queue. */
|
||||
#define _POSIX_MAX_INPUT 255
|
||||
|
||||
/* Maximum number of message queues open for a process. */
|
||||
#define _POSIX_MQ_OPEN_MAX 8
|
||||
|
||||
/* Maximum number of supported message priorities. */
|
||||
#define _POSIX_MQ_PRIO_MAX 32
|
||||
|
||||
/* Number of bytes in a filename. */
|
||||
#define _POSIX_NAME_MAX 14
|
||||
|
||||
/* Number of simultaneous supplementary group IDs per process. */
|
||||
#ifdef __USE_XOPEN2K
|
||||
# define _POSIX_NGROUPS_MAX 8
|
||||
#else
|
||||
# define _POSIX_NGROUPS_MAX 0
|
||||
#endif
|
||||
|
||||
/* Number of files one process can have open at once. */
|
||||
#ifdef __USE_XOPEN2K
|
||||
# define _POSIX_OPEN_MAX 20
|
||||
#else
|
||||
# define _POSIX_OPEN_MAX 16
|
||||
#endif
|
||||
|
||||
#if !defined __USE_XOPEN2K || defined __USE_GNU
|
||||
/* Number of descriptors that a process may examine with `pselect' or
|
||||
`select'. */
|
||||
# define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX
|
||||
#endif
|
||||
|
||||
/* Number of bytes in a pathname. */
|
||||
#define _POSIX_PATH_MAX 256
|
||||
|
||||
/* Number of bytes than can be written atomically to a pipe. */
|
||||
#define _POSIX_PIPE_BUF 512
|
||||
|
||||
/* The number of repeated occurrences of a BRE permitted by the
|
||||
REGEXEC and REGCOMP functions when using the interval notation. */
|
||||
#define _POSIX_RE_DUP_MAX 255
|
||||
|
||||
/* Minimal number of realtime signals reserved for the application. */
|
||||
#define _POSIX_RTSIG_MAX 8
|
||||
|
||||
/* Number of semaphores a process can have. */
|
||||
#define _POSIX_SEM_NSEMS_MAX 256
|
||||
|
||||
/* Maximal value of a semaphore. */
|
||||
#define _POSIX_SEM_VALUE_MAX 32767
|
||||
|
||||
/* Number of pending realtime signals. */
|
||||
#define _POSIX_SIGQUEUE_MAX 32
|
||||
|
||||
/* Largest value of a `ssize_t'. */
|
||||
#define _POSIX_SSIZE_MAX 32767
|
||||
|
||||
/* Number of streams a process can have open at once. */
|
||||
#define _POSIX_STREAM_MAX 8
|
||||
|
||||
/* The number of bytes in a symbolic link. */
|
||||
#define _POSIX_SYMLINK_MAX 255
|
||||
|
||||
/* The number of symbolic links that can be traversed in the
|
||||
resolution of a pathname in the absence of a loop. */
|
||||
#define _POSIX_SYMLOOP_MAX 8
|
||||
|
||||
/* Number of timer for a process. */
|
||||
#define _POSIX_TIMER_MAX 32
|
||||
|
||||
/* Maximum number of characters in a tty name. */
|
||||
#define _POSIX_TTY_NAME_MAX 9
|
||||
|
||||
/* Maximum length of a timezone name (element of `tzname'). */
|
||||
#ifdef __USE_XOPEN2K
|
||||
# define _POSIX_TZNAME_MAX 6
|
||||
#else
|
||||
# define _POSIX_TZNAME_MAX 3
|
||||
#endif
|
||||
|
||||
#if !defined __USE_XOPEN2K || defined __USE_GNU
|
||||
/* Maximum number of connections that can be queued on a socket. */
|
||||
# define _POSIX_QLIMIT 1
|
||||
|
||||
/* Maximum number of bytes that can be buffered on a socket for send
|
||||
or receive. */
|
||||
# define _POSIX_HIWAT _POSIX_PIPE_BUF
|
||||
|
||||
/* Maximum number of elements in an `iovec' array. */
|
||||
# define _POSIX_UIO_MAXIOV 16
|
||||
#endif
|
||||
|
||||
/* Maximum clock resolution in nanoseconds. */
|
||||
#define _POSIX_CLOCKRES_MIN 20000000
|
||||
|
||||
|
||||
/* Get the implementation-specific values for the above. */
|
||||
#include <bits/local_lim.h>
|
||||
|
||||
|
||||
#ifndef SSIZE_MAX
|
||||
# define SSIZE_MAX LONG_MAX
|
||||
#endif
|
||||
|
||||
|
||||
/* This value is a guaranteed minimum maximum.
|
||||
The current maximum can be got from `sysconf'. */
|
||||
|
||||
#ifndef NGROUPS_MAX
|
||||
# define NGROUPS_MAX 8
|
||||
#endif
|
||||
|
||||
#endif /* bits/posix1_lim.h */
|
|
@ -1,90 +0,0 @@
|
|||
/* Copyright (C) 1991-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/*
|
||||
* Never include this file directly; include <limits.h> instead.
|
||||
*/
|
||||
|
||||
#ifndef _BITS_POSIX2_LIM_H
|
||||
#define _BITS_POSIX2_LIM_H 1
|
||||
|
||||
|
||||
/* The maximum `ibase' and `obase' values allowed by the `bc' utility. */
|
||||
#define _POSIX2_BC_BASE_MAX 99
|
||||
|
||||
/* The maximum number of elements allowed in an array by the `bc' utility. */
|
||||
#define _POSIX2_BC_DIM_MAX 2048
|
||||
|
||||
/* The maximum `scale' value allowed by the `bc' utility. */
|
||||
#define _POSIX2_BC_SCALE_MAX 99
|
||||
|
||||
/* The maximum length of a string constant accepted by the `bc' utility. */
|
||||
#define _POSIX2_BC_STRING_MAX 1000
|
||||
|
||||
/* The maximum number of weights that can be assigned to an entry of
|
||||
the LC_COLLATE `order' keyword in the locale definition file. */
|
||||
#define _POSIX2_COLL_WEIGHTS_MAX 2
|
||||
|
||||
/* The maximum number of expressions that can be nested
|
||||
within parentheses by the `expr' utility. */
|
||||
#define _POSIX2_EXPR_NEST_MAX 32
|
||||
|
||||
/* The maximum length, in bytes, of an input line. */
|
||||
#define _POSIX2_LINE_MAX 2048
|
||||
|
||||
/* The maximum number of repeated occurrences of a regular expression
|
||||
permitted when using the interval notation `\{M,N\}'. */
|
||||
#define _POSIX2_RE_DUP_MAX 255
|
||||
|
||||
/* The maximum number of bytes in a character class name. We have no
|
||||
fixed limit, 2048 is a high number. */
|
||||
#define _POSIX2_CHARCLASS_NAME_MAX 14
|
||||
|
||||
|
||||
/* These values are implementation-specific,
|
||||
and may vary within the implementation.
|
||||
Their precise values can be obtained from sysconf. */
|
||||
|
||||
#ifndef BC_BASE_MAX
|
||||
#define BC_BASE_MAX _POSIX2_BC_BASE_MAX
|
||||
#endif
|
||||
#ifndef BC_DIM_MAX
|
||||
#define BC_DIM_MAX _POSIX2_BC_DIM_MAX
|
||||
#endif
|
||||
#ifndef BC_SCALE_MAX
|
||||
#define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX
|
||||
#endif
|
||||
#ifndef BC_STRING_MAX
|
||||
#define BC_STRING_MAX _POSIX2_BC_STRING_MAX
|
||||
#endif
|
||||
#ifndef COLL_WEIGHTS_MAX
|
||||
#define COLL_WEIGHTS_MAX 255
|
||||
#endif
|
||||
#ifndef EXPR_NEST_MAX
|
||||
#define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX
|
||||
#endif
|
||||
#ifndef LINE_MAX
|
||||
#define LINE_MAX _POSIX2_LINE_MAX
|
||||
#endif
|
||||
#ifndef CHARCLASS_NAME_MAX
|
||||
#define CHARCLASS_NAME_MAX 2048
|
||||
#endif
|
||||
|
||||
/* This value is defined like this in regex.h. */
|
||||
#define RE_DUP_MAX (0x7fff)
|
||||
|
||||
#endif /* bits/posix2_lim.h */
|
|
@ -1,191 +0,0 @@
|
|||
/* Define POSIX options for Linux.
|
||||
Copyright (C) 1996-2014 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; see the file COPYING.LIB. If
|
||||
not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_POSIX_OPT_H
|
||||
#define _BITS_POSIX_OPT_H 1
|
||||
|
||||
/* Job control is supported. */
|
||||
#define _POSIX_JOB_CONTROL 1
|
||||
|
||||
/* Processes have a saved set-user-ID and a saved set-group-ID. */
|
||||
#define _POSIX_SAVED_IDS 1
|
||||
|
||||
/* Priority scheduling is supported. */
|
||||
#define _POSIX_PRIORITY_SCHEDULING 200809L
|
||||
|
||||
/* Synchronizing file data is supported. */
|
||||
#define _POSIX_SYNCHRONIZED_IO 200809L
|
||||
|
||||
/* The fsync function is present. */
|
||||
#define _POSIX_FSYNC 200809L
|
||||
|
||||
/* Mapping of files to memory is supported. */
|
||||
#define _POSIX_MAPPED_FILES 200809L
|
||||
|
||||
/* Locking of all memory is supported. */
|
||||
#define _POSIX_MEMLOCK 200809L
|
||||
|
||||
/* Locking of ranges of memory is supported. */
|
||||
#define _POSIX_MEMLOCK_RANGE 200809L
|
||||
|
||||
/* Setting of memory protections is supported. */
|
||||
#define _POSIX_MEMORY_PROTECTION 200809L
|
||||
|
||||
/* Some filesystems allow all users to change file ownership. */
|
||||
#define _POSIX_CHOWN_RESTRICTED 0
|
||||
|
||||
/* `c_cc' member of 'struct termios' structure can be disabled by
|
||||
using the value _POSIX_VDISABLE. */
|
||||
#define _POSIX_VDISABLE '\0'
|
||||
|
||||
/* Filenames are not silently truncated. */
|
||||
#define _POSIX_NO_TRUNC 1
|
||||
|
||||
/* X/Open realtime support is available. */
|
||||
#define _XOPEN_REALTIME 1
|
||||
|
||||
/* X/Open thread realtime support is available. */
|
||||
#define _XOPEN_REALTIME_THREADS 1
|
||||
|
||||
/* XPG4.2 shared memory is supported. */
|
||||
#define _XOPEN_SHM 1
|
||||
|
||||
/* Tell we have POSIX threads. */
|
||||
#define _POSIX_THREADS 200809L
|
||||
|
||||
/* We have the reentrant functions described in POSIX. */
|
||||
#define _POSIX_REENTRANT_FUNCTIONS 1
|
||||
#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L
|
||||
|
||||
/* We provide priority scheduling for threads. */
|
||||
#define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L
|
||||
|
||||
/* We support user-defined stack sizes. */
|
||||
#define _POSIX_THREAD_ATTR_STACKSIZE 200809L
|
||||
|
||||
/* We support user-defined stacks. */
|
||||
#define _POSIX_THREAD_ATTR_STACKADDR 200809L
|
||||
|
||||
/* We support priority inheritence. */
|
||||
#define _POSIX_THREAD_PRIO_INHERIT 200809L
|
||||
|
||||
/* We support priority protection, though only for non-robust
|
||||
mutexes. */
|
||||
#define _POSIX_THREAD_PRIO_PROTECT 200809L
|
||||
|
||||
#ifdef __USE_XOPEN2K8
|
||||
/* We support priority inheritence for robust mutexes. */
|
||||
# define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L
|
||||
|
||||
/* We do not support priority protection for robust mutexes. */
|
||||
# define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1
|
||||
#endif
|
||||
|
||||
/* We support POSIX.1b semaphores. */
|
||||
#define _POSIX_SEMAPHORES 200809L
|
||||
|
||||
/* Real-time signals are supported. */
|
||||
#define _POSIX_REALTIME_SIGNALS 200809L
|
||||
|
||||
/* We support asynchronous I/O. */
|
||||
#define _POSIX_ASYNCHRONOUS_IO 200809L
|
||||
#define _POSIX_ASYNC_IO 1
|
||||
/* Alternative name for Unix98. */
|
||||
#define _LFS_ASYNCHRONOUS_IO 1
|
||||
/* Support for prioritization is also available. */
|
||||
#define _POSIX_PRIORITIZED_IO 200809L
|
||||
|
||||
/* The LFS support in asynchronous I/O is also available. */
|
||||
#define _LFS64_ASYNCHRONOUS_IO 1
|
||||
|
||||
/* The rest of the LFS is also available. */
|
||||
#define _LFS_LARGEFILE 1
|
||||
#define _LFS64_LARGEFILE 1
|
||||
#define _LFS64_STDIO 1
|
||||
|
||||
/* POSIX shared memory objects are implemented. */
|
||||
#define _POSIX_SHARED_MEMORY_OBJECTS 200809L
|
||||
|
||||
/* CPU-time clocks support needs to be checked at runtime. */
|
||||
#define _POSIX_CPUTIME 0
|
||||
|
||||
/* Clock support in threads must be also checked at runtime. */
|
||||
#define _POSIX_THREAD_CPUTIME 0
|
||||
|
||||
/* GNU libc provides regular expression handling. */
|
||||
#define _POSIX_REGEXP 1
|
||||
|
||||
/* Reader/Writer locks are available. */
|
||||
#define _POSIX_READER_WRITER_LOCKS 200809L
|
||||
|
||||
/* We have a POSIX shell. */
|
||||
#define _POSIX_SHELL 1
|
||||
|
||||
/* We support the Timeouts option. */
|
||||
#define _POSIX_TIMEOUTS 200809L
|
||||
|
||||
/* We support spinlocks. */
|
||||
#define _POSIX_SPIN_LOCKS 200809L
|
||||
|
||||
/* The `spawn' function family is supported. */
|
||||
#define _POSIX_SPAWN 200809L
|
||||
|
||||
/* We have POSIX timers. */
|
||||
#define _POSIX_TIMERS 200809L
|
||||
|
||||
/* The barrier functions are available. */
|
||||
#define _POSIX_BARRIERS 200809L
|
||||
|
||||
/* POSIX message queues are available. */
|
||||
#define _POSIX_MESSAGE_PASSING 200809L
|
||||
|
||||
/* Thread process-shared synchronization is supported. */
|
||||
#define _POSIX_THREAD_PROCESS_SHARED 200809L
|
||||
|
||||
/* The monotonic clock might be available. */
|
||||
#define _POSIX_MONOTONIC_CLOCK 0
|
||||
|
||||
/* The clock selection interfaces are available. */
|
||||
#define _POSIX_CLOCK_SELECTION 200809L
|
||||
|
||||
/* Advisory information interfaces are available. */
|
||||
#define _POSIX_ADVISORY_INFO 200809L
|
||||
|
||||
/* IPv6 support is available. */
|
||||
#define _POSIX_IPV6 200809L
|
||||
|
||||
/* Raw socket support is available. */
|
||||
#define _POSIX_RAW_SOCKETS 200809L
|
||||
|
||||
/* We have at least one terminal. */
|
||||
#define _POSIX2_CHAR_TERM 200809L
|
||||
|
||||
/* Neither process nor thread sporadic server interfaces is available. */
|
||||
#define _POSIX_SPORADIC_SERVER -1
|
||||
#define _POSIX_THREAD_SPORADIC_SERVER -1
|
||||
|
||||
/* trace.h is not available. */
|
||||
#define _POSIX_TRACE -1
|
||||
#define _POSIX_TRACE_EVENT_FILTER -1
|
||||
#define _POSIX_TRACE_INHERIT -1
|
||||
#define _POSIX_TRACE_LOG -1
|
||||
|
||||
/* Typed memory objects are not available. */
|
||||
#define _POSIX_TYPED_MEMORY_OBJECTS -1
|
||||
|
||||
#endif /* bits/posix_opt.h */
|
|
@ -1,258 +0,0 @@
|
|||
/* Copyright (C) 2002-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_PTHREADTYPES_H
|
||||
#define _BITS_PTHREADTYPES_H 1
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#ifdef __x86_64__
|
||||
# if __WORDSIZE == 64
|
||||
# define __SIZEOF_PTHREAD_ATTR_T 56
|
||||
# define __SIZEOF_PTHREAD_MUTEX_T 40
|
||||
# define __SIZEOF_PTHREAD_MUTEXATTR_T 4
|
||||
# define __SIZEOF_PTHREAD_COND_T 48
|
||||
# define __SIZEOF_PTHREAD_CONDATTR_T 4
|
||||
# define __SIZEOF_PTHREAD_RWLOCK_T 56
|
||||
# define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
|
||||
# define __SIZEOF_PTHREAD_BARRIER_T 32
|
||||
# define __SIZEOF_PTHREAD_BARRIERATTR_T 4
|
||||
# else
|
||||
# define __SIZEOF_PTHREAD_ATTR_T 32
|
||||
# define __SIZEOF_PTHREAD_MUTEX_T 32
|
||||
# define __SIZEOF_PTHREAD_MUTEXATTR_T 4
|
||||
# define __SIZEOF_PTHREAD_COND_T 48
|
||||
# define __SIZEOF_PTHREAD_CONDATTR_T 4
|
||||
# define __SIZEOF_PTHREAD_RWLOCK_T 44
|
||||
# define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
|
||||
# define __SIZEOF_PTHREAD_BARRIER_T 20
|
||||
# define __SIZEOF_PTHREAD_BARRIERATTR_T 4
|
||||
# endif
|
||||
#else
|
||||
# define __SIZEOF_PTHREAD_ATTR_T 36
|
||||
# define __SIZEOF_PTHREAD_MUTEX_T 24
|
||||
# define __SIZEOF_PTHREAD_MUTEXATTR_T 4
|
||||
# define __SIZEOF_PTHREAD_COND_T 48
|
||||
# define __SIZEOF_PTHREAD_CONDATTR_T 4
|
||||
# define __SIZEOF_PTHREAD_RWLOCK_T 32
|
||||
# define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
|
||||
# define __SIZEOF_PTHREAD_BARRIER_T 20
|
||||
# define __SIZEOF_PTHREAD_BARRIERATTR_T 4
|
||||
#endif
|
||||
|
||||
|
||||
/* Thread identifiers. The structure of the attribute type is not
|
||||
exposed on purpose. */
|
||||
typedef unsigned long int pthread_t;
|
||||
|
||||
|
||||
union pthread_attr_t
|
||||
{
|
||||
char __size[__SIZEOF_PTHREAD_ATTR_T];
|
||||
long int __align;
|
||||
};
|
||||
#ifndef __have_pthread_attr_t
|
||||
typedef union pthread_attr_t pthread_attr_t;
|
||||
# define __have_pthread_attr_t 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __x86_64__
|
||||
typedef struct __pthread_internal_list
|
||||
{
|
||||
struct __pthread_internal_list *__prev;
|
||||
struct __pthread_internal_list *__next;
|
||||
} __pthread_list_t;
|
||||
#else
|
||||
typedef struct __pthread_internal_slist
|
||||
{
|
||||
struct __pthread_internal_slist *__next;
|
||||
} __pthread_slist_t;
|
||||
#endif
|
||||
|
||||
|
||||
/* Data structures for mutex handling. The structure of the attribute
|
||||
type is not exposed on purpose. */
|
||||
typedef union
|
||||
{
|
||||
struct __pthread_mutex_s
|
||||
{
|
||||
int __lock;
|
||||
unsigned int __count;
|
||||
int __owner;
|
||||
#ifdef __x86_64__
|
||||
unsigned int __nusers;
|
||||
#endif
|
||||
/* KIND must stay at this position in the structure to maintain
|
||||
binary compatibility. */
|
||||
int __kind;
|
||||
#ifdef __x86_64__
|
||||
short __spins;
|
||||
short __elision;
|
||||
__pthread_list_t __list;
|
||||
# define __PTHREAD_MUTEX_HAVE_PREV 1
|
||||
/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER. */
|
||||
# define __PTHREAD_SPINS 0, 0
|
||||
#else
|
||||
unsigned int __nusers;
|
||||
__extension__ union
|
||||
{
|
||||
struct
|
||||
{
|
||||
short __espins;
|
||||
short __elision;
|
||||
# define __spins __elision_data.__espins
|
||||
# define __elision __elision_data.__elision
|
||||
# define __PTHREAD_SPINS { 0, 0 }
|
||||
} __elision_data;
|
||||
__pthread_slist_t __list;
|
||||
};
|
||||
#endif
|
||||
} __data;
|
||||
char __size[__SIZEOF_PTHREAD_MUTEX_T];
|
||||
long int __align;
|
||||
} pthread_mutex_t;
|
||||
|
||||
typedef union
|
||||
{
|
||||
char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
|
||||
int __align;
|
||||
} pthread_mutexattr_t;
|
||||
|
||||
|
||||
/* Data structure for conditional variable handling. The structure of
|
||||
the attribute type is not exposed on purpose. */
|
||||
typedef union
|
||||
{
|
||||
struct
|
||||
{
|
||||
int __lock;
|
||||
unsigned int __futex;
|
||||
__extension__ unsigned long long int __total_seq;
|
||||
__extension__ unsigned long long int __wakeup_seq;
|
||||
__extension__ unsigned long long int __woken_seq;
|
||||
void *__mutex;
|
||||
unsigned int __nwaiters;
|
||||
unsigned int __broadcast_seq;
|
||||
} __data;
|
||||
char __size[__SIZEOF_PTHREAD_COND_T];
|
||||
__extension__ long long int __align;
|
||||
} pthread_cond_t;
|
||||
|
||||
typedef union
|
||||
{
|
||||
char __size[__SIZEOF_PTHREAD_CONDATTR_T];
|
||||
int __align;
|
||||
} pthread_condattr_t;
|
||||
|
||||
|
||||
/* Keys for thread-specific data */
|
||||
typedef unsigned int pthread_key_t;
|
||||
|
||||
|
||||
/* Once-only execution */
|
||||
typedef int pthread_once_t;
|
||||
|
||||
|
||||
#if defined __USE_UNIX98 || defined __USE_XOPEN2K
|
||||
/* Data structure for read-write lock variable handling. The
|
||||
structure of the attribute type is not exposed on purpose. */
|
||||
typedef union
|
||||
{
|
||||
# ifdef __x86_64__
|
||||
struct
|
||||
{
|
||||
int __lock;
|
||||
unsigned int __nr_readers;
|
||||
unsigned int __readers_wakeup;
|
||||
unsigned int __writer_wakeup;
|
||||
unsigned int __nr_readers_queued;
|
||||
unsigned int __nr_writers_queued;
|
||||
int __writer;
|
||||
int __shared;
|
||||
signed char __rwelision;
|
||||
# ifdef __ILP32__
|
||||
unsigned char __pad1[3];
|
||||
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
|
||||
# else
|
||||
unsigned char __pad1[7];
|
||||
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
|
||||
# endif
|
||||
unsigned long int __pad2;
|
||||
/* FLAGS must stay at this position in the structure to maintain
|
||||
binary compatibility. */
|
||||
unsigned int __flags;
|
||||
# define __PTHREAD_RWLOCK_INT_FLAGS_SHARED 1
|
||||
} __data;
|
||||
# else
|
||||
struct
|
||||
{
|
||||
int __lock;
|
||||
unsigned int __nr_readers;
|
||||
unsigned int __readers_wakeup;
|
||||
unsigned int __writer_wakeup;
|
||||
unsigned int __nr_readers_queued;
|
||||
unsigned int __nr_writers_queued;
|
||||
/* FLAGS must stay at this position in the structure to maintain
|
||||
binary compatibility. */
|
||||
unsigned char __flags;
|
||||
unsigned char __shared;
|
||||
signed char __rwelision;
|
||||
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
|
||||
unsigned char __pad2;
|
||||
int __writer;
|
||||
} __data;
|
||||
# endif
|
||||
char __size[__SIZEOF_PTHREAD_RWLOCK_T];
|
||||
long int __align;
|
||||
} pthread_rwlock_t;
|
||||
|
||||
typedef union
|
||||
{
|
||||
char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T];
|
||||
long int __align;
|
||||
} pthread_rwlockattr_t;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __USE_XOPEN2K
|
||||
/* POSIX spinlock data type. */
|
||||
typedef volatile int pthread_spinlock_t;
|
||||
|
||||
|
||||
/* POSIX barriers data type. The structure of the type is
|
||||
deliberately not exposed. */
|
||||
typedef union
|
||||
{
|
||||
char __size[__SIZEOF_PTHREAD_BARRIER_T];
|
||||
long int __align;
|
||||
} pthread_barrier_t;
|
||||
|
||||
typedef union
|
||||
{
|
||||
char __size[__SIZEOF_PTHREAD_BARRIERATTR_T];
|
||||
int __align;
|
||||
} pthread_barrierattr_t;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __x86_64__
|
||||
/* Extra attributes for the cleanup functions. */
|
||||
# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
|
||||
#endif
|
||||
|
||||
#endif /* bits/pthreadtypes.h */
|
|
@ -1,210 +0,0 @@
|
|||
/* Definitions of constants and data structure for POSIX 1003.1b-1993
|
||||
scheduling interface.
|
||||
Copyright (C) 1996-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef __need_schedparam
|
||||
|
||||
#ifndef _SCHED_H
|
||||
# error "Never include <bits/sched.h> directly; use <sched.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
/* Scheduling algorithms. */
|
||||
#define SCHED_OTHER 0
|
||||
#define SCHED_FIFO 1
|
||||
#define SCHED_RR 2
|
||||
#ifdef __USE_GNU
|
||||
# define SCHED_BATCH 3
|
||||
# define SCHED_IDLE 5
|
||||
|
||||
# define SCHED_RESET_ON_FORK 0x40000000
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Cloning flags. */
|
||||
# define CSIGNAL 0x000000ff /* Signal mask to be sent at exit. */
|
||||
# define CLONE_VM 0x00000100 /* Set if VM shared between processes. */
|
||||
# define CLONE_FS 0x00000200 /* Set if fs info shared between processes. */
|
||||
# define CLONE_FILES 0x00000400 /* Set if open files shared between processes. */
|
||||
# define CLONE_SIGHAND 0x00000800 /* Set if signal handlers shared. */
|
||||
# define CLONE_PTRACE 0x00002000 /* Set if tracing continues on the child. */
|
||||
# define CLONE_VFORK 0x00004000 /* Set if the parent wants the child to
|
||||
wake it up on mm_release. */
|
||||
# define CLONE_PARENT 0x00008000 /* Set if we want to have the same
|
||||
parent as the cloner. */
|
||||
# define CLONE_THREAD 0x00010000 /* Set to add to same thread group. */
|
||||
# define CLONE_NEWNS 0x00020000 /* Set to create new namespace. */
|
||||
# define CLONE_SYSVSEM 0x00040000 /* Set to shared SVID SEM_UNDO semantics. */
|
||||
# define CLONE_SETTLS 0x00080000 /* Set TLS info. */
|
||||
# define CLONE_PARENT_SETTID 0x00100000 /* Store TID in userlevel buffer
|
||||
before MM copy. */
|
||||
# define CLONE_CHILD_CLEARTID 0x00200000 /* Register exit futex and memory
|
||||
location to clear. */
|
||||
# define CLONE_DETACHED 0x00400000 /* Create clone detached. */
|
||||
# define CLONE_UNTRACED 0x00800000 /* Set if the tracing process can't
|
||||
force CLONE_PTRACE on this clone. */
|
||||
# define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in
|
||||
the child. */
|
||||
# define CLONE_NEWUTS 0x04000000 /* New utsname group. */
|
||||
# define CLONE_NEWIPC 0x08000000 /* New ipcs. */
|
||||
# define CLONE_NEWUSER 0x10000000 /* New user namespace. */
|
||||
# define CLONE_NEWPID 0x20000000 /* New pid namespace. */
|
||||
# define CLONE_NEWNET 0x40000000 /* New network namespace. */
|
||||
# define CLONE_IO 0x80000000 /* Clone I/O context. */
|
||||
#endif
|
||||
|
||||
/* The official definition. */
|
||||
struct sched_param
|
||||
{
|
||||
int __sched_priority;
|
||||
};
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Clone current process. */
|
||||
extern int clone (int (*__fn) (void *__arg), void *__child_stack,
|
||||
int __flags, void *__arg, ...) __THROW;
|
||||
|
||||
/* Unshare the specified resources. */
|
||||
extern int unshare (int __flags) __THROW;
|
||||
|
||||
/* Get index of currently used CPU. */
|
||||
extern int sched_getcpu (void) __THROW;
|
||||
|
||||
/* Switch process to namespace of type NSTYPE indicated by FD. */
|
||||
extern int setns (int __fd, int __nstype) __THROW;
|
||||
#endif
|
||||
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* need schedparam */
|
||||
|
||||
#if !defined __defined_schedparam \
|
||||
&& (defined __need_schedparam || defined _SCHED_H)
|
||||
# define __defined_schedparam 1
|
||||
/* Data structure to describe a process' schedulability. */
|
||||
struct __sched_param
|
||||
{
|
||||
int __sched_priority;
|
||||
};
|
||||
# undef __need_schedparam
|
||||
#endif
|
||||
|
||||
|
||||
#if defined _SCHED_H && !defined __cpu_set_t_defined
|
||||
# define __cpu_set_t_defined
|
||||
/* Size definition for CPU sets. */
|
||||
# define __CPU_SETSIZE 1024
|
||||
# define __NCPUBITS (8 * sizeof (__cpu_mask))
|
||||
|
||||
/* Type for array elements in 'cpu_set_t'. */
|
||||
typedef unsigned long int __cpu_mask;
|
||||
|
||||
/* Basic access functions. */
|
||||
# define __CPUELT(cpu) ((cpu) / __NCPUBITS)
|
||||
# define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
|
||||
|
||||
/* Data structure to describe CPU mask. */
|
||||
typedef struct
|
||||
{
|
||||
__cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS];
|
||||
} cpu_set_t;
|
||||
|
||||
/* Access functions for CPU masks. */
|
||||
# if __GNUC_PREREQ (2, 91)
|
||||
# define __CPU_ZERO_S(setsize, cpusetp) \
|
||||
do __builtin_memset (cpusetp, '\0', setsize); while (0)
|
||||
# else
|
||||
# define __CPU_ZERO_S(setsize, cpusetp) \
|
||||
do { \
|
||||
size_t __i; \
|
||||
size_t __imax = (setsize) / sizeof (__cpu_mask); \
|
||||
__cpu_mask *__bits = (cpusetp)->__bits; \
|
||||
for (__i = 0; __i < __imax; ++__i) \
|
||||
__bits[__i] = 0; \
|
||||
} while (0)
|
||||
# endif
|
||||
# define __CPU_SET_S(cpu, setsize, cpusetp) \
|
||||
(__extension__ \
|
||||
({ size_t __cpu = (cpu); \
|
||||
__cpu / 8 < (setsize) \
|
||||
? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
|
||||
|= __CPUMASK (__cpu)) \
|
||||
: 0; }))
|
||||
# define __CPU_CLR_S(cpu, setsize, cpusetp) \
|
||||
(__extension__ \
|
||||
({ size_t __cpu = (cpu); \
|
||||
__cpu / 8 < (setsize) \
|
||||
? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
|
||||
&= ~__CPUMASK (__cpu)) \
|
||||
: 0; }))
|
||||
# define __CPU_ISSET_S(cpu, setsize, cpusetp) \
|
||||
(__extension__ \
|
||||
({ size_t __cpu = (cpu); \
|
||||
__cpu / 8 < (setsize) \
|
||||
? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
|
||||
& __CPUMASK (__cpu))) != 0 \
|
||||
: 0; }))
|
||||
|
||||
# define __CPU_COUNT_S(setsize, cpusetp) \
|
||||
__sched_cpucount (setsize, cpusetp)
|
||||
|
||||
# if __GNUC_PREREQ (2, 91)
|
||||
# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
|
||||
(__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)
|
||||
# else
|
||||
# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
|
||||
(__extension__ \
|
||||
({ const __cpu_mask *__arr1 = (cpusetp1)->__bits; \
|
||||
const __cpu_mask *__arr2 = (cpusetp2)->__bits; \
|
||||
size_t __imax = (setsize) / sizeof (__cpu_mask); \
|
||||
size_t __i; \
|
||||
for (__i = 0; __i < __imax; ++__i) \
|
||||
if (__arr1[__i] != __arr2[__i]) \
|
||||
break; \
|
||||
__i == __imax; }))
|
||||
# endif
|
||||
|
||||
# define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
|
||||
(__extension__ \
|
||||
({ cpu_set_t *__dest = (destset); \
|
||||
const __cpu_mask *__arr1 = (srcset1)->__bits; \
|
||||
const __cpu_mask *__arr2 = (srcset2)->__bits; \
|
||||
size_t __imax = (setsize) / sizeof (__cpu_mask); \
|
||||
size_t __i; \
|
||||
for (__i = 0; __i < __imax; ++__i) \
|
||||
((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; \
|
||||
__dest; }))
|
||||
|
||||
# define __CPU_ALLOC_SIZE(count) \
|
||||
((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))
|
||||
# define __CPU_ALLOC(count) __sched_cpualloc (count)
|
||||
# define __CPU_FREE(cpuset) __sched_cpufree (cpuset)
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
|
||||
__THROW;
|
||||
extern cpu_set_t *__sched_cpualloc (size_t __count) __THROW __wur;
|
||||
extern void __sched_cpufree (cpu_set_t *__set) __THROW;
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
|
@ -1,63 +0,0 @@
|
|||
/* Copyright (C) 1997-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_SELECT_H
|
||||
# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
|
||||
#if defined __GNUC__ && __GNUC__ >= 2
|
||||
|
||||
# if __WORDSIZE == 64
|
||||
# define __FD_ZERO_STOS "stosq"
|
||||
# else
|
||||
# define __FD_ZERO_STOS "stosl"
|
||||
# endif
|
||||
|
||||
# define __FD_ZERO(fdsp) \
|
||||
do { \
|
||||
int __d0, __d1; \
|
||||
__asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS \
|
||||
: "=c" (__d0), "=D" (__d1) \
|
||||
: "a" (0), "0" (sizeof (fd_set) \
|
||||
/ sizeof (__fd_mask)), \
|
||||
"1" (&__FDS_BITS (fdsp)[0]) \
|
||||
: "memory"); \
|
||||
} while (0)
|
||||
|
||||
#else /* ! GNU CC */
|
||||
|
||||
/* We don't use `memset' because this would require a prototype and
|
||||
the array isn't too big. */
|
||||
# define __FD_ZERO(set) \
|
||||
do { \
|
||||
unsigned int __i; \
|
||||
fd_set *__arr = (set); \
|
||||
for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \
|
||||
__FDS_BITS (__arr)[__i] = 0; \
|
||||
} while (0)
|
||||
|
||||
#endif /* GNU CC */
|
||||
|
||||
#define __FD_SET(d, set) \
|
||||
((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
|
||||
#define __FD_CLR(d, set) \
|
||||
((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
|
||||
#define __FD_ISSET(d, set) \
|
||||
((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
|
|
@ -1,35 +0,0 @@
|
|||
/* Checking macros for select functions.
|
||||
Copyright (C) 2011-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_SELECT_H
|
||||
# error "Never include <bits/select2.h> directly; use <sys/select.h> instead."
|
||||
#endif
|
||||
|
||||
/* Helper functions to issue warnings and errors when needed. */
|
||||
extern long int __fdelt_chk (long int __d);
|
||||
extern long int __fdelt_warn (long int __d)
|
||||
__warnattr ("bit outside of fd_set selected");
|
||||
#undef __FD_ELT
|
||||
#define __FD_ELT(d) \
|
||||
__extension__ \
|
||||
({ long int __d = (d); \
|
||||
(__builtin_constant_p (__d) \
|
||||
? (0 <= __d && __d < __FD_SETSIZE \
|
||||
? (__d / __NFDBITS) \
|
||||
: __fdelt_warn (__d)) \
|
||||
: __fdelt_chk (__d)); })
|
|
@ -1,40 +0,0 @@
|
|||
/* Copyright (C) 2001-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Define the machine-dependent type `jmp_buf'. x86-64 version. */
|
||||
#ifndef _BITS_SETJMP_H
|
||||
#define _BITS_SETJMP_H 1
|
||||
|
||||
#if !defined _SETJMP_H && !defined _PTHREAD_H
|
||||
# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#ifndef _ASM
|
||||
|
||||
# if __WORDSIZE == 64
|
||||
typedef long int __jmp_buf[8];
|
||||
# elif defined __x86_64__
|
||||
__extension__ typedef long long int __jmp_buf[8];
|
||||
# else
|
||||
typedef int __jmp_buf[6];
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* bits/setjmp.h */
|
|
@ -1,78 +0,0 @@
|
|||
/* The proper definitions for Linux's sigaction.
|
||||
Copyright (C) 1993-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SIGNAL_H
|
||||
# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
|
||||
#endif
|
||||
|
||||
/* Structure describing the action to be taken when a signal arrives. */
|
||||
struct sigaction
|
||||
{
|
||||
/* Signal handler. */
|
||||
#ifdef __USE_POSIX199309
|
||||
union
|
||||
{
|
||||
/* Used if SA_SIGINFO is not set. */
|
||||
__sighandler_t sa_handler;
|
||||
/* Used if SA_SIGINFO is set. */
|
||||
void (*sa_sigaction) (int, siginfo_t *, void *);
|
||||
}
|
||||
__sigaction_handler;
|
||||
# define sa_handler __sigaction_handler.sa_handler
|
||||
# define sa_sigaction __sigaction_handler.sa_sigaction
|
||||
#else
|
||||
__sighandler_t sa_handler;
|
||||
#endif
|
||||
|
||||
/* Additional set of signals to be blocked. */
|
||||
__sigset_t sa_mask;
|
||||
|
||||
/* Special flags. */
|
||||
int sa_flags;
|
||||
|
||||
/* Restore handler. */
|
||||
void (*sa_restorer) (void);
|
||||
};
|
||||
|
||||
/* Bits in `sa_flags'. */
|
||||
#define SA_NOCLDSTOP 1 /* Don't send SIGCHLD when children stop. */
|
||||
#define SA_NOCLDWAIT 2 /* Don't create zombie on child death. */
|
||||
#define SA_SIGINFO 4 /* Invoke signal-catching function with
|
||||
three arguments instead of one. */
|
||||
#if defined __USE_UNIX98 || defined __USE_MISC
|
||||
# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
|
||||
#endif
|
||||
#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
|
||||
# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
|
||||
# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
|
||||
its handler is being executed. */
|
||||
# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
|
||||
#endif
|
||||
#ifdef __USE_MISC
|
||||
# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
|
||||
|
||||
/* Some aliases for the SA_ constants. */
|
||||
# define SA_NOMASK SA_NODEFER
|
||||
# define SA_ONESHOT SA_RESETHAND
|
||||
# define SA_STACK SA_ONSTACK
|
||||
#endif
|
||||
|
||||
/* Values for the HOW argument to `sigprocmask'. */
|
||||
#define SIG_BLOCK 0 /* Block signals. */
|
||||
#define SIG_UNBLOCK 1 /* Unblock signals. */
|
||||
#define SIG_SETMASK 2 /* Set the set of blocked signals. */
|
|
@ -1,194 +0,0 @@
|
|||
/* Copyright (C) 2002-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_SIGCONTEXT_H
|
||||
#define _BITS_SIGCONTEXT_H 1
|
||||
|
||||
#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
|
||||
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
|
||||
#endif
|
||||
|
||||
#define FP_XSTATE_MAGIC1 0x46505853U
|
||||
#define FP_XSTATE_MAGIC2 0x46505845U
|
||||
#define FP_XSTATE_MAGIC2_SIZE sizeof(FP_XSTATE_MAGIC2)
|
||||
|
||||
struct _fpx_sw_bytes
|
||||
{
|
||||
__uint32_t magic1;
|
||||
__uint32_t extended_size;
|
||||
__uint64_t xstate_bv;
|
||||
__uint32_t xstate_size;
|
||||
__uint32_t padding[7];
|
||||
};
|
||||
|
||||
struct _fpreg
|
||||
{
|
||||
unsigned short significand[4];
|
||||
unsigned short exponent;
|
||||
};
|
||||
|
||||
struct _fpxreg
|
||||
{
|
||||
unsigned short significand[4];
|
||||
unsigned short exponent;
|
||||
unsigned short padding[3];
|
||||
};
|
||||
|
||||
struct _xmmreg
|
||||
{
|
||||
__uint32_t element[4];
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifndef __x86_64__
|
||||
|
||||
struct _fpstate
|
||||
{
|
||||
/* Regular FPU environment. */
|
||||
__uint32_t cw;
|
||||
__uint32_t sw;
|
||||
__uint32_t tag;
|
||||
__uint32_t ipoff;
|
||||
__uint32_t cssel;
|
||||
__uint32_t dataoff;
|
||||
__uint32_t datasel;
|
||||
struct _fpreg _st[8];
|
||||
unsigned short status;
|
||||
unsigned short magic;
|
||||
|
||||
/* FXSR FPU environment. */
|
||||
__uint32_t _fxsr_env[6];
|
||||
__uint32_t mxcsr;
|
||||
__uint32_t reserved;
|
||||
struct _fpxreg _fxsr_st[8];
|
||||
struct _xmmreg _xmm[8];
|
||||
__uint32_t padding[56];
|
||||
};
|
||||
|
||||
#ifndef sigcontext_struct
|
||||
/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
|
||||
we need sigcontext. Some packages have come to rely on
|
||||
sigcontext_struct being defined on 32-bit x86, so define this for
|
||||
their benefit. */
|
||||
# define sigcontext_struct sigcontext
|
||||
#endif
|
||||
|
||||
#define X86_FXSR_MAGIC 0x0000
|
||||
|
||||
struct sigcontext
|
||||
{
|
||||
unsigned short gs, __gsh;
|
||||
unsigned short fs, __fsh;
|
||||
unsigned short es, __esh;
|
||||
unsigned short ds, __dsh;
|
||||
unsigned long edi;
|
||||
unsigned long esi;
|
||||
unsigned long ebp;
|
||||
unsigned long esp;
|
||||
unsigned long ebx;
|
||||
unsigned long edx;
|
||||
unsigned long ecx;
|
||||
unsigned long eax;
|
||||
unsigned long trapno;
|
||||
unsigned long err;
|
||||
unsigned long eip;
|
||||
unsigned short cs, __csh;
|
||||
unsigned long eflags;
|
||||
unsigned long esp_at_signal;
|
||||
unsigned short ss, __ssh;
|
||||
struct _fpstate * fpstate;
|
||||
unsigned long oldmask;
|
||||
unsigned long cr2;
|
||||
};
|
||||
|
||||
#else /* __x86_64__ */
|
||||
|
||||
struct _fpstate
|
||||
{
|
||||
/* FPU environment matching the 64-bit FXSAVE layout. */
|
||||
__uint16_t cwd;
|
||||
__uint16_t swd;
|
||||
__uint16_t ftw;
|
||||
__uint16_t fop;
|
||||
__uint64_t rip;
|
||||
__uint64_t rdp;
|
||||
__uint32_t mxcsr;
|
||||
__uint32_t mxcr_mask;
|
||||
struct _fpxreg _st[8];
|
||||
struct _xmmreg _xmm[16];
|
||||
__uint32_t padding[24];
|
||||
};
|
||||
|
||||
struct sigcontext
|
||||
{
|
||||
__uint64_t r8;
|
||||
__uint64_t r9;
|
||||
__uint64_t r10;
|
||||
__uint64_t r11;
|
||||
__uint64_t r12;
|
||||
__uint64_t r13;
|
||||
__uint64_t r14;
|
||||
__uint64_t r15;
|
||||
__uint64_t rdi;
|
||||
__uint64_t rsi;
|
||||
__uint64_t rbp;
|
||||
__uint64_t rbx;
|
||||
__uint64_t rdx;
|
||||
__uint64_t rax;
|
||||
__uint64_t rcx;
|
||||
__uint64_t rsp;
|
||||
__uint64_t rip;
|
||||
__uint64_t eflags;
|
||||
unsigned short cs;
|
||||
unsigned short gs;
|
||||
unsigned short fs;
|
||||
unsigned short __pad0;
|
||||
__uint64_t err;
|
||||
__uint64_t trapno;
|
||||
__uint64_t oldmask;
|
||||
__uint64_t cr2;
|
||||
__extension__ union
|
||||
{
|
||||
struct _fpstate * fpstate;
|
||||
__uint64_t __fpstate_word;
|
||||
};
|
||||
__uint64_t __reserved1 [8];
|
||||
};
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
struct _xsave_hdr
|
||||
{
|
||||
__uint64_t xstate_bv;
|
||||
__uint64_t reserved1[2];
|
||||
__uint64_t reserved2[5];
|
||||
};
|
||||
|
||||
struct _ymmh_state
|
||||
{
|
||||
__uint32_t ymmh_space[64];
|
||||
};
|
||||
|
||||
struct _xstate
|
||||
{
|
||||
struct _fpstate fpstate;
|
||||
struct _xsave_hdr xstate_hdr;
|
||||
struct _ymmh_state ymmh;
|
||||
};
|
||||
|
||||
#endif /* _BITS_SIGCONTEXT_H */
|
|
@ -1,353 +0,0 @@
|
|||
/* siginfo_t, sigevent and constants. Linux x86-64 version.
|
||||
Copyright (C) 2012-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#if !defined _SIGNAL_H && !defined __need_siginfo_t \
|
||||
&& !defined __need_sigevent_t
|
||||
# error "Never include this file directly. Use <signal.h> instead"
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if (!defined __have_sigval_t \
|
||||
&& (defined _SIGNAL_H || defined __need_siginfo_t \
|
||||
|| defined __need_sigevent_t))
|
||||
# define __have_sigval_t 1
|
||||
|
||||
/* Type for data associated with a signal. */
|
||||
typedef union sigval
|
||||
{
|
||||
int sival_int;
|
||||
void *sival_ptr;
|
||||
} sigval_t;
|
||||
#endif
|
||||
|
||||
#if (!defined __have_siginfo_t \
|
||||
&& (defined _SIGNAL_H || defined __need_siginfo_t))
|
||||
# define __have_siginfo_t 1
|
||||
|
||||
# define __SI_MAX_SIZE 128
|
||||
# if __WORDSIZE == 64
|
||||
# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 4)
|
||||
# else
|
||||
# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3)
|
||||
# endif
|
||||
|
||||
# if defined __x86_64__ && __WORDSIZE == 32
|
||||
/* si_utime and si_stime must be 4 byte aligned for x32 to match the
|
||||
kernel. We align siginfo_t to 8 bytes so that si_utime and si_stime
|
||||
are actually aligned to 8 bytes since their offsets are multiple of
|
||||
8 bytes. */
|
||||
typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
|
||||
# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
|
||||
# else
|
||||
typedef __clock_t __sigchld_clock_t;
|
||||
# define __SI_ALIGNMENT
|
||||
# endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int si_signo; /* Signal number. */
|
||||
int si_errno; /* If non-zero, an errno value associated with
|
||||
this signal, as defined in <errno.h>. */
|
||||
int si_code; /* Signal code. */
|
||||
|
||||
union
|
||||
{
|
||||
int _pad[__SI_PAD_SIZE];
|
||||
|
||||
/* kill(). */
|
||||
struct
|
||||
{
|
||||
__pid_t si_pid; /* Sending process ID. */
|
||||
__uid_t si_uid; /* Real user ID of sending process. */
|
||||
} _kill;
|
||||
|
||||
/* POSIX.1b timers. */
|
||||
struct
|
||||
{
|
||||
int si_tid; /* Timer ID. */
|
||||
int si_overrun; /* Overrun count. */
|
||||
sigval_t si_sigval; /* Signal value. */
|
||||
} _timer;
|
||||
|
||||
/* POSIX.1b signals. */
|
||||
struct
|
||||
{
|
||||
__pid_t si_pid; /* Sending process ID. */
|
||||
__uid_t si_uid; /* Real user ID of sending process. */
|
||||
sigval_t si_sigval; /* Signal value. */
|
||||
} _rt;
|
||||
|
||||
/* SIGCHLD. */
|
||||
struct
|
||||
{
|
||||
__pid_t si_pid; /* Which child. */
|
||||
__uid_t si_uid; /* Real user ID of sending process. */
|
||||
int si_status; /* Exit value or signal. */
|
||||
__sigchld_clock_t si_utime;
|
||||
__sigchld_clock_t si_stime;
|
||||
} _sigchld;
|
||||
|
||||
/* SIGILL, SIGFPE, SIGSEGV, SIGBUS. */
|
||||
struct
|
||||
{
|
||||
void *si_addr; /* Faulting insn/memory ref. */
|
||||
short int si_addr_lsb; /* Valid LSB of the reported address. */
|
||||
} _sigfault;
|
||||
|
||||
/* SIGPOLL. */
|
||||
struct
|
||||
{
|
||||
long int si_band; /* Band event for SIGPOLL. */
|
||||
int si_fd;
|
||||
} _sigpoll;
|
||||
|
||||
/* SIGSYS. */
|
||||
struct
|
||||
{
|
||||
void *_call_addr; /* Calling user insn. */
|
||||
int _syscall; /* Triggering system call number. */
|
||||
unsigned int _arch; /* AUDIT_ARCH_* of syscall. */
|
||||
} _sigsys;
|
||||
} _sifields;
|
||||
} siginfo_t __SI_ALIGNMENT;
|
||||
|
||||
|
||||
/* X/Open requires some more fields with fixed names. */
|
||||
# define si_pid _sifields._kill.si_pid
|
||||
# define si_uid _sifields._kill.si_uid
|
||||
# define si_timerid _sifields._timer.si_tid
|
||||
# define si_overrun _sifields._timer.si_overrun
|
||||
# define si_status _sifields._sigchld.si_status
|
||||
# define si_utime _sifields._sigchld.si_utime
|
||||
# define si_stime _sifields._sigchld.si_stime
|
||||
# define si_value _sifields._rt.si_sigval
|
||||
# define si_int _sifields._rt.si_sigval.sival_int
|
||||
# define si_ptr _sifields._rt.si_sigval.sival_ptr
|
||||
# define si_addr _sifields._sigfault.si_addr
|
||||
# define si_addr_lsb _sifields._sigfault.si_addr_lsb
|
||||
# define si_band _sifields._sigpoll.si_band
|
||||
# define si_fd _sifields._sigpoll.si_fd
|
||||
# define si_call_addr _sifields._sigsys._call_addr
|
||||
# define si_syscall _sifields._sigsys._syscall
|
||||
# define si_arch _sifields._sigsys._arch
|
||||
|
||||
|
||||
/* Values for `si_code'. Positive values are reserved for kernel-generated
|
||||
signals. */
|
||||
enum
|
||||
{
|
||||
SI_ASYNCNL = -60, /* Sent by asynch name lookup completion. */
|
||||
# define SI_ASYNCNL SI_ASYNCNL
|
||||
SI_TKILL = -6, /* Sent by tkill. */
|
||||
# define SI_TKILL SI_TKILL
|
||||
SI_SIGIO, /* Sent by queued SIGIO. */
|
||||
# define SI_SIGIO SI_SIGIO
|
||||
SI_ASYNCIO, /* Sent by AIO completion. */
|
||||
# define SI_ASYNCIO SI_ASYNCIO
|
||||
SI_MESGQ, /* Sent by real time mesq state change. */
|
||||
# define SI_MESGQ SI_MESGQ
|
||||
SI_TIMER, /* Sent by timer expiration. */
|
||||
# define SI_TIMER SI_TIMER
|
||||
SI_QUEUE, /* Sent by sigqueue. */
|
||||
# define SI_QUEUE SI_QUEUE
|
||||
SI_USER, /* Sent by kill, sigsend. */
|
||||
# define SI_USER SI_USER
|
||||
SI_KERNEL = 0x80 /* Send by kernel. */
|
||||
#define SI_KERNEL SI_KERNEL
|
||||
};
|
||||
|
||||
|
||||
# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
|
||||
/* `si_code' values for SIGILL signal. */
|
||||
enum
|
||||
{
|
||||
ILL_ILLOPC = 1, /* Illegal opcode. */
|
||||
# define ILL_ILLOPC ILL_ILLOPC
|
||||
ILL_ILLOPN, /* Illegal operand. */
|
||||
# define ILL_ILLOPN ILL_ILLOPN
|
||||
ILL_ILLADR, /* Illegal addressing mode. */
|
||||
# define ILL_ILLADR ILL_ILLADR
|
||||
ILL_ILLTRP, /* Illegal trap. */
|
||||
# define ILL_ILLTRP ILL_ILLTRP
|
||||
ILL_PRVOPC, /* Privileged opcode. */
|
||||
# define ILL_PRVOPC ILL_PRVOPC
|
||||
ILL_PRVREG, /* Privileged register. */
|
||||
# define ILL_PRVREG ILL_PRVREG
|
||||
ILL_COPROC, /* Coprocessor error. */
|
||||
# define ILL_COPROC ILL_COPROC
|
||||
ILL_BADSTK /* Internal stack error. */
|
||||
# define ILL_BADSTK ILL_BADSTK
|
||||
};
|
||||
|
||||
/* `si_code' values for SIGFPE signal. */
|
||||
enum
|
||||
{
|
||||
FPE_INTDIV = 1, /* Integer divide by zero. */
|
||||
# define FPE_INTDIV FPE_INTDIV
|
||||
FPE_INTOVF, /* Integer overflow. */
|
||||
# define FPE_INTOVF FPE_INTOVF
|
||||
FPE_FLTDIV, /* Floating point divide by zero. */
|
||||
# define FPE_FLTDIV FPE_FLTDIV
|
||||
FPE_FLTOVF, /* Floating point overflow. */
|
||||
# define FPE_FLTOVF FPE_FLTOVF
|
||||
FPE_FLTUND, /* Floating point underflow. */
|
||||
# define FPE_FLTUND FPE_FLTUND
|
||||
FPE_FLTRES, /* Floating point inexact result. */
|
||||
# define FPE_FLTRES FPE_FLTRES
|
||||
FPE_FLTINV, /* Floating point invalid operation. */
|
||||
# define FPE_FLTINV FPE_FLTINV
|
||||
FPE_FLTSUB /* Subscript out of range. */
|
||||
# define FPE_FLTSUB FPE_FLTSUB
|
||||
};
|
||||
|
||||
/* `si_code' values for SIGSEGV signal. */
|
||||
enum
|
||||
{
|
||||
SEGV_MAPERR = 1, /* Address not mapped to object. */
|
||||
# define SEGV_MAPERR SEGV_MAPERR
|
||||
SEGV_ACCERR /* Invalid permissions for mapped object. */
|
||||
# define SEGV_ACCERR SEGV_ACCERR
|
||||
};
|
||||
|
||||
/* `si_code' values for SIGBUS signal. */
|
||||
enum
|
||||
{
|
||||
BUS_ADRALN = 1, /* Invalid address alignment. */
|
||||
# define BUS_ADRALN BUS_ADRALN
|
||||
BUS_ADRERR, /* Non-existant physical address. */
|
||||
# define BUS_ADRERR BUS_ADRERR
|
||||
BUS_OBJERR, /* Object specific hardware error. */
|
||||
# define BUS_OBJERR BUS_OBJERR
|
||||
BUS_MCEERR_AR, /* Hardware memory error: action required. */
|
||||
# define BUS_MCEERR_AR BUS_MCEERR_AR
|
||||
BUS_MCEERR_AO /* Hardware memory error: action optional. */
|
||||
# define BUS_MCEERR_AO BUS_MCEERR_AO
|
||||
};
|
||||
# endif
|
||||
|
||||
# ifdef __USE_XOPEN_EXTENDED
|
||||
/* `si_code' values for SIGTRAP signal. */
|
||||
enum
|
||||
{
|
||||
TRAP_BRKPT = 1, /* Process breakpoint. */
|
||||
# define TRAP_BRKPT TRAP_BRKPT
|
||||
TRAP_TRACE /* Process trace trap. */
|
||||
# define TRAP_TRACE TRAP_TRACE
|
||||
};
|
||||
# endif
|
||||
|
||||
# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
|
||||
/* `si_code' values for SIGCHLD signal. */
|
||||
enum
|
||||
{
|
||||
CLD_EXITED = 1, /* Child has exited. */
|
||||
# define CLD_EXITED CLD_EXITED
|
||||
CLD_KILLED, /* Child was killed. */
|
||||
# define CLD_KILLED CLD_KILLED
|
||||
CLD_DUMPED, /* Child terminated abnormally. */
|
||||
# define CLD_DUMPED CLD_DUMPED
|
||||
CLD_TRAPPED, /* Traced child has trapped. */
|
||||
# define CLD_TRAPPED CLD_TRAPPED
|
||||
CLD_STOPPED, /* Child has stopped. */
|
||||
# define CLD_STOPPED CLD_STOPPED
|
||||
CLD_CONTINUED /* Stopped child has continued. */
|
||||
# define CLD_CONTINUED CLD_CONTINUED
|
||||
};
|
||||
|
||||
/* `si_code' values for SIGPOLL signal. */
|
||||
enum
|
||||
{
|
||||
POLL_IN = 1, /* Data input available. */
|
||||
# define POLL_IN POLL_IN
|
||||
POLL_OUT, /* Output buffers available. */
|
||||
# define POLL_OUT POLL_OUT
|
||||
POLL_MSG, /* Input message available. */
|
||||
# define POLL_MSG POLL_MSG
|
||||
POLL_ERR, /* I/O error. */
|
||||
# define POLL_ERR POLL_ERR
|
||||
POLL_PRI, /* High priority input available. */
|
||||
# define POLL_PRI POLL_PRI
|
||||
POLL_HUP /* Device disconnected. */
|
||||
# define POLL_HUP POLL_HUP
|
||||
};
|
||||
# endif
|
||||
|
||||
# undef __need_siginfo_t
|
||||
#endif /* !have siginfo_t && (have _SIGNAL_H || need siginfo_t). */
|
||||
|
||||
|
||||
#if (defined _SIGNAL_H || defined __need_sigevent_t) \
|
||||
&& !defined __have_sigevent_t
|
||||
# define __have_sigevent_t 1
|
||||
|
||||
/* Structure to transport application-defined values with signals. */
|
||||
# define __SIGEV_MAX_SIZE 64
|
||||
# if __WORDSIZE == 64
|
||||
# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
|
||||
# else
|
||||
# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
|
||||
# endif
|
||||
|
||||
/* Forward declaration. */
|
||||
# ifndef __have_pthread_attr_t
|
||||
typedef union pthread_attr_t pthread_attr_t;
|
||||
# define __have_pthread_attr_t 1
|
||||
# endif
|
||||
|
||||
typedef struct sigevent
|
||||
{
|
||||
sigval_t sigev_value;
|
||||
int sigev_signo;
|
||||
int sigev_notify;
|
||||
|
||||
union
|
||||
{
|
||||
int _pad[__SIGEV_PAD_SIZE];
|
||||
|
||||
/* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
|
||||
thread to receive the signal. */
|
||||
__pid_t _tid;
|
||||
|
||||
struct
|
||||
{
|
||||
void (*_function) (sigval_t); /* Function to start. */
|
||||
pthread_attr_t *_attribute; /* Thread attributes. */
|
||||
} _sigev_thread;
|
||||
} _sigev_un;
|
||||
} sigevent_t;
|
||||
|
||||
/* POSIX names to access some of the members. */
|
||||
# define sigev_notify_function _sigev_un._sigev_thread._function
|
||||
# define sigev_notify_attributes _sigev_un._sigev_thread._attribute
|
||||
|
||||
/* `sigev_notify' values. */
|
||||
enum
|
||||
{
|
||||
SIGEV_SIGNAL = 0, /* Notify via signal. */
|
||||
# define SIGEV_SIGNAL SIGEV_SIGNAL
|
||||
SIGEV_NONE, /* Other notification: meaningless. */
|
||||
# define SIGEV_NONE SIGEV_NONE
|
||||
SIGEV_THREAD, /* Deliver via thread creation. */
|
||||
# define SIGEV_THREAD SIGEV_THREAD
|
||||
|
||||
SIGEV_THREAD_ID = 4 /* Send signal to specific thread. */
|
||||
#define SIGEV_THREAD_ID SIGEV_THREAD_ID
|
||||
};
|
||||
|
||||
#endif /* have _SIGNAL_H. */
|
|
@ -1,79 +0,0 @@
|
|||
/* Signal number definitions. Linux version.
|
||||
Copyright (C) 1995-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifdef _SIGNAL_H
|
||||
|
||||
/* Fake signal functions. */
|
||||
#define SIG_ERR ((__sighandler_t) -1) /* Error return. */
|
||||
#define SIG_DFL ((__sighandler_t) 0) /* Default action. */
|
||||
#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */
|
||||
|
||||
#ifdef __USE_UNIX98
|
||||
# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */
|
||||
#endif
|
||||
|
||||
|
||||
/* Signals. */
|
||||
#define SIGHUP 1 /* Hangup (POSIX). */
|
||||
#define SIGINT 2 /* Interrupt (ANSI). */
|
||||
#define SIGQUIT 3 /* Quit (POSIX). */
|
||||
#define SIGILL 4 /* Illegal instruction (ANSI). */
|
||||
#define SIGTRAP 5 /* Trace trap (POSIX). */
|
||||
#define SIGABRT 6 /* Abort (ANSI). */
|
||||
#define SIGIOT 6 /* IOT trap (4.2 BSD). */
|
||||
#define SIGBUS 7 /* BUS error (4.2 BSD). */
|
||||
#define SIGFPE 8 /* Floating-point exception (ANSI). */
|
||||
#define SIGKILL 9 /* Kill, unblockable (POSIX). */
|
||||
#define SIGUSR1 10 /* User-defined signal 1 (POSIX). */
|
||||
#define SIGSEGV 11 /* Segmentation violation (ANSI). */
|
||||
#define SIGUSR2 12 /* User-defined signal 2 (POSIX). */
|
||||
#define SIGPIPE 13 /* Broken pipe (POSIX). */
|
||||
#define SIGALRM 14 /* Alarm clock (POSIX). */
|
||||
#define SIGTERM 15 /* Termination (ANSI). */
|
||||
#define SIGSTKFLT 16 /* Stack fault. */
|
||||
#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */
|
||||
#define SIGCHLD 17 /* Child status has changed (POSIX). */
|
||||
#define SIGCONT 18 /* Continue (POSIX). */
|
||||
#define SIGSTOP 19 /* Stop, unblockable (POSIX). */
|
||||
#define SIGTSTP 20 /* Keyboard stop (POSIX). */
|
||||
#define SIGTTIN 21 /* Background read from tty (POSIX). */
|
||||
#define SIGTTOU 22 /* Background write to tty (POSIX). */
|
||||
#define SIGURG 23 /* Urgent condition on socket (4.2 BSD). */
|
||||
#define SIGXCPU 24 /* CPU limit exceeded (4.2 BSD). */
|
||||
#define SIGXFSZ 25 /* File size limit exceeded (4.2 BSD). */
|
||||
#define SIGVTALRM 26 /* Virtual alarm clock (4.2 BSD). */
|
||||
#define SIGPROF 27 /* Profiling alarm clock (4.2 BSD). */
|
||||
#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */
|
||||
#define SIGPOLL SIGIO /* Pollable event occurred (System V). */
|
||||
#define SIGIO 29 /* I/O now possible (4.2 BSD). */
|
||||
#define SIGPWR 30 /* Power failure restart (System V). */
|
||||
#define SIGSYS 31 /* Bad system call. */
|
||||
#define SIGUNUSED 31
|
||||
|
||||
#define _NSIG 65 /* Biggest signal number + 1
|
||||
(including real-time signals). */
|
||||
|
||||
#define SIGRTMIN (__libc_current_sigrtmin ())
|
||||
#define SIGRTMAX (__libc_current_sigrtmax ())
|
||||
|
||||
/* These are the hard limits of the kernel. These values should not be
|
||||
used directly at user level. */
|
||||
#define __SIGRTMIN 32
|
||||
#define __SIGRTMAX (_NSIG - 1)
|
||||
|
||||
#endif /* <signal.h> included. */
|
|
@ -1,124 +0,0 @@
|
|||
/* __sig_atomic_t, __sigset_t, and related definitions. Linux version.
|
||||
Copyright (C) 1991-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SIGSET_H_types
|
||||
# define _SIGSET_H_types 1
|
||||
|
||||
typedef int __sig_atomic_t;
|
||||
|
||||
/* A `sigset_t' has a bit for each signal. */
|
||||
|
||||
# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
|
||||
typedef struct
|
||||
{
|
||||
unsigned long int __val[_SIGSET_NWORDS];
|
||||
} __sigset_t;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* We only want to define these functions if <signal.h> was actually
|
||||
included; otherwise we were included just to define the types. Since we
|
||||
are namespace-clean, it wouldn't hurt to define extra macros. But
|
||||
trouble can be caused by functions being defined (e.g., any global
|
||||
register vars declared later will cause compilation errors). */
|
||||
|
||||
#if !defined _SIGSET_H_fns && defined _SIGNAL_H
|
||||
# define _SIGSET_H_fns 1
|
||||
|
||||
# ifndef _EXTERN_INLINE
|
||||
# define _EXTERN_INLINE __extern_inline
|
||||
# endif
|
||||
|
||||
/* Return a mask that includes the bit for SIG only. */
|
||||
# define __sigmask(sig) \
|
||||
(((unsigned long int) 1) << (((sig) - 1) % (8 * sizeof (unsigned long int))))
|
||||
|
||||
/* Return the word index for SIG. */
|
||||
# define __sigword(sig) (((sig) - 1) / (8 * sizeof (unsigned long int)))
|
||||
|
||||
# if defined __GNUC__ && __GNUC__ >= 2
|
||||
# define __sigemptyset(set) \
|
||||
(__extension__ ({ int __cnt = _SIGSET_NWORDS; \
|
||||
sigset_t *__set = (set); \
|
||||
while (--__cnt >= 0) __set->__val[__cnt] = 0; \
|
||||
0; }))
|
||||
# define __sigfillset(set) \
|
||||
(__extension__ ({ int __cnt = _SIGSET_NWORDS; \
|
||||
sigset_t *__set = (set); \
|
||||
while (--__cnt >= 0) __set->__val[__cnt] = ~0UL; \
|
||||
0; }))
|
||||
|
||||
# ifdef __USE_GNU
|
||||
/* The POSIX does not specify for handling the whole signal set in one
|
||||
command. This is often wanted and so we define three more functions
|
||||
here. */
|
||||
# define __sigisemptyset(set) \
|
||||
(__extension__ ({ int __cnt = _SIGSET_NWORDS; \
|
||||
const sigset_t *__set = (set); \
|
||||
int __ret = __set->__val[--__cnt]; \
|
||||
while (!__ret && --__cnt >= 0) \
|
||||
__ret = __set->__val[__cnt]; \
|
||||
__ret == 0; }))
|
||||
# define __sigandset(dest, left, right) \
|
||||
(__extension__ ({ int __cnt = _SIGSET_NWORDS; \
|
||||
sigset_t *__dest = (dest); \
|
||||
const sigset_t *__left = (left); \
|
||||
const sigset_t *__right = (right); \
|
||||
while (--__cnt >= 0) \
|
||||
__dest->__val[__cnt] = (__left->__val[__cnt] \
|
||||
& __right->__val[__cnt]); \
|
||||
0; }))
|
||||
# define __sigorset(dest, left, right) \
|
||||
(__extension__ ({ int __cnt = _SIGSET_NWORDS; \
|
||||
sigset_t *__dest = (dest); \
|
||||
const sigset_t *__left = (left); \
|
||||
const sigset_t *__right = (right); \
|
||||
while (--__cnt >= 0) \
|
||||
__dest->__val[__cnt] = (__left->__val[__cnt] \
|
||||
| __right->__val[__cnt]); \
|
||||
0; }))
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* These functions needn't check for a bogus signal number -- error
|
||||
checking is done in the non __ versions. */
|
||||
|
||||
extern int __sigismember (const __sigset_t *, int);
|
||||
extern int __sigaddset (__sigset_t *, int);
|
||||
extern int __sigdelset (__sigset_t *, int);
|
||||
|
||||
# ifdef __USE_EXTERN_INLINES
|
||||
# define __SIGSETFN(NAME, BODY, CONST) \
|
||||
_EXTERN_INLINE int \
|
||||
NAME (CONST __sigset_t *__set, int __sig) \
|
||||
{ \
|
||||
unsigned long int __mask = __sigmask (__sig); \
|
||||
unsigned long int __word = __sigword (__sig); \
|
||||
return BODY; \
|
||||
}
|
||||
|
||||
__SIGSETFN (__sigismember, (__set->__val[__word] & __mask) ? 1 : 0, const)
|
||||
__SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
|
||||
__SIGSETFN (__sigdelset, ((__set->__val[__word] &= ~__mask), 0), )
|
||||
|
||||
# undef __SIGSETFN
|
||||
# endif
|
||||
|
||||
|
||||
#endif /* ! _SIGSET_H_fns. */
|
|
@ -1,54 +0,0 @@
|
|||
/* sigstack, sigaltstack definitions.
|
||||
Copyright (C) 1998-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SIGNAL_H
|
||||
# error "Never include this file directly. Use <signal.h> instead"
|
||||
#endif
|
||||
|
||||
|
||||
/* Structure describing a signal stack (obsolete). */
|
||||
struct sigstack
|
||||
{
|
||||
void *ss_sp; /* Signal stack pointer. */
|
||||
int ss_onstack; /* Nonzero if executing on this stack. */
|
||||
};
|
||||
|
||||
|
||||
/* Possible values for `ss_flags.'. */
|
||||
enum
|
||||
{
|
||||
SS_ONSTACK = 1,
|
||||
#define SS_ONSTACK SS_ONSTACK
|
||||
SS_DISABLE
|
||||
#define SS_DISABLE SS_DISABLE
|
||||
};
|
||||
|
||||
/* Minimum stack size for a signal handler. */
|
||||
#define MINSIGSTKSZ 2048
|
||||
|
||||
/* System default stack size. */
|
||||
#define SIGSTKSZ 8192
|
||||
|
||||
|
||||
/* Alternate, preferred interface. */
|
||||
typedef struct sigaltstack
|
||||
{
|
||||
void *ss_sp;
|
||||
int ss_flags;
|
||||
size_t ss_size;
|
||||
} stack_t;
|
|
@ -1,43 +0,0 @@
|
|||
/* Signal handling function for threaded programs.
|
||||
Copyright (C) 1998-2014 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; see the file COPYING.LIB. If
|
||||
not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_SIGTHREAD_H
|
||||
#define _BITS_SIGTHREAD_H 1
|
||||
|
||||
#if !defined _SIGNAL_H && !defined _PTHREAD_H
|
||||
# error "Never include this file directly. Use <pthread.h> instead"
|
||||
#endif
|
||||
|
||||
/* Functions for handling signals. */
|
||||
|
||||
/* Modify the signal mask for the calling thread. The arguments have
|
||||
the same meaning as for sigprocmask(2). */
|
||||
extern int pthread_sigmask (int __how,
|
||||
const __sigset_t *__restrict __newmask,
|
||||
__sigset_t *__restrict __oldmask)__THROW;
|
||||
|
||||
/* Send signal SIGNO to the given thread. */
|
||||
extern int pthread_kill (pthread_t __threadid, int __signo) __THROW;
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Queue signal and data to a thread. */
|
||||
extern int pthread_sigqueue (pthread_t __threadid, int __signo,
|
||||
const union sigval __value) __THROW;
|
||||
#endif
|
||||
|
||||
#endif /* bits/sigthread.h */
|
|
@ -1,101 +0,0 @@
|
|||
/* -mlong-double-64 compatibility mode for stdio functions.
|
||||
Copyright (C) 2006-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STDIO_H
|
||||
# error "Never include <bits/stdio-ldbl.h> directly; use <stdio.h> instead."
|
||||
#endif
|
||||
|
||||
__BEGIN_NAMESPACE_STD
|
||||
__LDBL_REDIR_DECL (fprintf)
|
||||
__LDBL_REDIR_DECL (printf)
|
||||
__LDBL_REDIR_DECL (sprintf)
|
||||
__LDBL_REDIR_DECL (vfprintf)
|
||||
__LDBL_REDIR_DECL (vprintf)
|
||||
__LDBL_REDIR_DECL (vsprintf)
|
||||
#if defined __USE_ISOC99 && !defined __USE_GNU \
|
||||
&& !defined __REDIRECT \
|
||||
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
|
||||
__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf)
|
||||
__LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf)
|
||||
__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf)
|
||||
#else
|
||||
__LDBL_REDIR_DECL (fscanf)
|
||||
__LDBL_REDIR_DECL (scanf)
|
||||
__LDBL_REDIR_DECL (sscanf)
|
||||
#endif
|
||||
__END_NAMESPACE_STD
|
||||
|
||||
#if defined __USE_ISOC99 || defined __USE_UNIX98
|
||||
__BEGIN_NAMESPACE_C99
|
||||
__LDBL_REDIR_DECL (snprintf)
|
||||
__LDBL_REDIR_DECL (vsnprintf)
|
||||
__END_NAMESPACE_C99
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
__BEGIN_NAMESPACE_C99
|
||||
# if !defined __USE_GNU && !defined __REDIRECT \
|
||||
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
|
||||
__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf)
|
||||
__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf)
|
||||
__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf)
|
||||
# else
|
||||
__LDBL_REDIR_DECL (vfscanf)
|
||||
__LDBL_REDIR_DECL (vsscanf)
|
||||
__LDBL_REDIR_DECL (vscanf)
|
||||
# endif
|
||||
__END_NAMESPACE_C99
|
||||
#endif
|
||||
|
||||
#ifdef __USE_XOPEN2K8
|
||||
__LDBL_REDIR_DECL (vdprintf)
|
||||
__LDBL_REDIR_DECL (dprintf)
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
__LDBL_REDIR_DECL (vasprintf)
|
||||
__LDBL_REDIR_DECL (__asprintf)
|
||||
__LDBL_REDIR_DECL (asprintf)
|
||||
__LDBL_REDIR_DECL (obstack_printf)
|
||||
__LDBL_REDIR_DECL (obstack_vprintf)
|
||||
#endif
|
||||
|
||||
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
|
||||
__LDBL_REDIR_DECL (__sprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vsprintf_chk)
|
||||
# if defined __USE_ISOC99 || defined __USE_UNIX98
|
||||
__LDBL_REDIR_DECL (__snprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vsnprintf_chk)
|
||||
# endif
|
||||
# if __USE_FORTIFY_LEVEL > 1
|
||||
__LDBL_REDIR_DECL (__fprintf_chk)
|
||||
__LDBL_REDIR_DECL (__printf_chk)
|
||||
__LDBL_REDIR_DECL (__vfprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vprintf_chk)
|
||||
# ifdef __USE_XOPEN2K8
|
||||
__LDBL_REDIR_DECL (__dprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vdprintf_chk)
|
||||
# endif
|
||||
# ifdef __USE_GNU
|
||||
__LDBL_REDIR_DECL (__asprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vasprintf_chk)
|
||||
__LDBL_REDIR_DECL (__obstack_printf_chk)
|
||||
__LDBL_REDIR_DECL (__obstack_vprintf_chk)
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
|
@ -1,110 +0,0 @@
|
|||
/* Thread package specific definitions of stream lock type. NPTL version.
|
||||
Copyright (C) 2000-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_STDIO_LOCK_H
|
||||
#define _BITS_STDIO_LOCK_H 1
|
||||
|
||||
#include <bits/libc-lock.h>
|
||||
#include <lowlevellock.h>
|
||||
|
||||
|
||||
/* The locking here is very inexpensive, even for inlining. */
|
||||
#define _IO_lock_inexpensive 1
|
||||
|
||||
typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
|
||||
|
||||
#define _IO_lock_initializer { LLL_LOCK_INITIALIZER, 0, NULL }
|
||||
|
||||
#define _IO_lock_init(_name) \
|
||||
((_name) = (_IO_lock_t) _IO_lock_initializer , 0)
|
||||
|
||||
#define _IO_lock_fini(_name) \
|
||||
((void) 0)
|
||||
|
||||
#define _IO_lock_lock(_name) \
|
||||
do { \
|
||||
void *__self = THREAD_SELF; \
|
||||
if ((_name).owner != __self) \
|
||||
{ \
|
||||
lll_lock ((_name).lock, LLL_PRIVATE); \
|
||||
(_name).owner = __self; \
|
||||
} \
|
||||
++(_name).cnt; \
|
||||
} while (0)
|
||||
|
||||
#define _IO_lock_trylock(_name) \
|
||||
({ \
|
||||
int __result = 0; \
|
||||
void *__self = THREAD_SELF; \
|
||||
if ((_name).owner != __self) \
|
||||
{ \
|
||||
if (lll_trylock ((_name).lock) == 0) \
|
||||
{ \
|
||||
(_name).owner = __self; \
|
||||
(_name).cnt = 1; \
|
||||
} \
|
||||
else \
|
||||
__result = EBUSY; \
|
||||
} \
|
||||
else \
|
||||
++(_name).cnt; \
|
||||
__result; \
|
||||
})
|
||||
|
||||
#define _IO_lock_unlock(_name) \
|
||||
do { \
|
||||
if (--(_name).cnt == 0) \
|
||||
{ \
|
||||
(_name).owner = NULL; \
|
||||
lll_unlock ((_name).lock, LLL_PRIVATE); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
||||
|
||||
#define _IO_cleanup_region_start(_fct, _fp) \
|
||||
__libc_cleanup_region_start (((_fp)->_flags & _IO_USER_LOCK) == 0, _fct, _fp)
|
||||
#define _IO_cleanup_region_start_noarg(_fct) \
|
||||
__libc_cleanup_region_start (1, _fct, NULL)
|
||||
#define _IO_cleanup_region_end(_doit) \
|
||||
__libc_cleanup_region_end (_doit)
|
||||
|
||||
#if defined _LIBC && !defined NOT_IN_libc
|
||||
|
||||
# ifdef __EXCEPTIONS
|
||||
# define _IO_acquire_lock(_fp) \
|
||||
do { \
|
||||
_IO_FILE *_IO_acquire_lock_file \
|
||||
__attribute__((cleanup (_IO_acquire_lock_fct))) \
|
||||
= (_fp); \
|
||||
_IO_flockfile (_IO_acquire_lock_file);
|
||||
# define _IO_acquire_lock_clear_flags2(_fp) \
|
||||
do { \
|
||||
_IO_FILE *_IO_acquire_lock_file \
|
||||
__attribute__((cleanup (_IO_acquire_lock_clear_flags2_fct))) \
|
||||
= (_fp); \
|
||||
_IO_flockfile (_IO_acquire_lock_file);
|
||||
# else
|
||||
# define _IO_acquire_lock(_fp) _IO_acquire_lock_needs_exceptions_enabled
|
||||
# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp)
|
||||
# endif
|
||||
# define _IO_release_lock(_fp) ; } while (0)
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* bits/stdio-lock.h */
|
|
@ -1,190 +0,0 @@
|
|||
/* Optimizing macros and inline functions for stdio functions.
|
||||
Copyright (C) 1998-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STDIO_H
|
||||
# error "Never include <bits/stdio.h> directly; use <stdio.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef __extern_inline
|
||||
# define __STDIO_INLINE inline
|
||||
#else
|
||||
# define __STDIO_INLINE __extern_inline
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
/* For -D_FORTIFY_SOURCE{,=2} bits/stdio2.h will define a different
|
||||
inline. */
|
||||
# if !(__USE_FORTIFY_LEVEL > 0 && defined __fortify_function)
|
||||
/* Write formatted output to stdout from argument list ARG. */
|
||||
__STDIO_INLINE int
|
||||
vprintf (const char *__restrict __fmt, _G_va_list __arg)
|
||||
{
|
||||
return vfprintf (stdout, __fmt, __arg);
|
||||
}
|
||||
# endif
|
||||
|
||||
/* Read a character from stdin. */
|
||||
__STDIO_INLINE int
|
||||
getchar (void)
|
||||
{
|
||||
return _IO_getc (stdin);
|
||||
}
|
||||
|
||||
|
||||
# ifdef __USE_MISC
|
||||
/* Faster version when locking is not necessary. */
|
||||
__STDIO_INLINE int
|
||||
fgetc_unlocked (FILE *__fp)
|
||||
{
|
||||
return _IO_getc_unlocked (__fp);
|
||||
}
|
||||
# endif /* misc */
|
||||
|
||||
|
||||
# ifdef __USE_POSIX
|
||||
/* This is defined in POSIX.1:1996. */
|
||||
__STDIO_INLINE int
|
||||
getc_unlocked (FILE *__fp)
|
||||
{
|
||||
return _IO_getc_unlocked (__fp);
|
||||
}
|
||||
|
||||
/* This is defined in POSIX.1:1996. */
|
||||
__STDIO_INLINE int
|
||||
getchar_unlocked (void)
|
||||
{
|
||||
return _IO_getc_unlocked (stdin);
|
||||
}
|
||||
# endif /* POSIX */
|
||||
|
||||
|
||||
/* Write a character to stdout. */
|
||||
__STDIO_INLINE int
|
||||
putchar (int __c)
|
||||
{
|
||||
return _IO_putc (__c, stdout);
|
||||
}
|
||||
|
||||
|
||||
# ifdef __USE_MISC
|
||||
/* Faster version when locking is not necessary. */
|
||||
__STDIO_INLINE int
|
||||
fputc_unlocked (int __c, FILE *__stream)
|
||||
{
|
||||
return _IO_putc_unlocked (__c, __stream);
|
||||
}
|
||||
# endif /* misc */
|
||||
|
||||
|
||||
# ifdef __USE_POSIX
|
||||
/* This is defined in POSIX.1:1996. */
|
||||
__STDIO_INLINE int
|
||||
putc_unlocked (int __c, FILE *__stream)
|
||||
{
|
||||
return _IO_putc_unlocked (__c, __stream);
|
||||
}
|
||||
|
||||
/* This is defined in POSIX.1:1996. */
|
||||
__STDIO_INLINE int
|
||||
putchar_unlocked (int __c)
|
||||
{
|
||||
return _IO_putc_unlocked (__c, stdout);
|
||||
}
|
||||
# endif /* POSIX */
|
||||
|
||||
|
||||
# ifdef __USE_GNU
|
||||
/* Like `getdelim', but reads up to a newline. */
|
||||
__STDIO_INLINE _IO_ssize_t
|
||||
getline (char **__lineptr, size_t *__n, FILE *__stream)
|
||||
{
|
||||
return __getdelim (__lineptr, __n, '\n', __stream);
|
||||
}
|
||||
# endif /* GNU */
|
||||
|
||||
|
||||
# ifdef __USE_MISC
|
||||
/* Faster versions when locking is not required. */
|
||||
__STDIO_INLINE int
|
||||
__NTH (feof_unlocked (FILE *__stream))
|
||||
{
|
||||
return _IO_feof_unlocked (__stream);
|
||||
}
|
||||
|
||||
/* Faster versions when locking is not required. */
|
||||
__STDIO_INLINE int
|
||||
__NTH (ferror_unlocked (FILE *__stream))
|
||||
{
|
||||
return _IO_ferror_unlocked (__stream);
|
||||
}
|
||||
# endif /* misc */
|
||||
|
||||
#endif /* Use extern inlines. */
|
||||
|
||||
|
||||
#if defined __USE_MISC && defined __GNUC__ && defined __OPTIMIZE__ \
|
||||
&& !defined __cplusplus
|
||||
/* Perform some simple optimizations. */
|
||||
# define fread_unlocked(ptr, size, n, stream) \
|
||||
(__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) \
|
||||
&& (size_t) (size) * (size_t) (n) <= 8 \
|
||||
&& (size_t) (size) != 0) \
|
||||
? ({ char *__ptr = (char *) (ptr); \
|
||||
FILE *__stream = (stream); \
|
||||
size_t __cnt; \
|
||||
for (__cnt = (size_t) (size) * (size_t) (n); \
|
||||
__cnt > 0; --__cnt) \
|
||||
{ \
|
||||
int __c = _IO_getc_unlocked (__stream); \
|
||||
if (__c == EOF) \
|
||||
break; \
|
||||
*__ptr++ = __c; \
|
||||
} \
|
||||
((size_t) (size) * (size_t) (n) - __cnt) \
|
||||
/ (size_t) (size); }) \
|
||||
: (((__builtin_constant_p (size) && (size_t) (size) == 0) \
|
||||
|| (__builtin_constant_p (n) && (size_t) (n) == 0)) \
|
||||
/* Evaluate all parameters once. */ \
|
||||
? ((void) (ptr), (void) (stream), (void) (size), \
|
||||
(void) (n), (size_t) 0) \
|
||||
: fread_unlocked (ptr, size, n, stream))))
|
||||
|
||||
# define fwrite_unlocked(ptr, size, n, stream) \
|
||||
(__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) \
|
||||
&& (size_t) (size) * (size_t) (n) <= 8 \
|
||||
&& (size_t) (size) != 0) \
|
||||
? ({ const char *__ptr = (const char *) (ptr); \
|
||||
FILE *__stream = (stream); \
|
||||
size_t __cnt; \
|
||||
for (__cnt = (size_t) (size) * (size_t) (n); \
|
||||
__cnt > 0; --__cnt) \
|
||||
if (_IO_putc_unlocked (*__ptr++, __stream) == EOF) \
|
||||
break; \
|
||||
((size_t) (size) * (size_t) (n) - __cnt) \
|
||||
/ (size_t) (size); }) \
|
||||
: (((__builtin_constant_p (size) && (size_t) (size) == 0) \
|
||||
|| (__builtin_constant_p (n) && (size_t) (n) == 0)) \
|
||||
/* Evaluate all parameters once. */ \
|
||||
? ((void) (ptr), (void) (stream), (void) (size), \
|
||||
(void) (n), (size_t) 0) \
|
||||
: fwrite_unlocked (ptr, size, n, stream))))
|
||||
#endif
|
||||
|
||||
/* Define helper macro. */
|
||||
#undef __STDIO_INLINE
|
|
@ -1,382 +0,0 @@
|
|||
/* Checking macros for stdio functions.
|
||||
Copyright (C) 2004-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STDIO_H
|
||||
# error "Never include <bits/stdio2.h> directly; use <stdio.h> instead."
|
||||
#endif
|
||||
|
||||
extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
|
||||
const char *__restrict __format, ...) __THROW;
|
||||
extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
|
||||
const char *__restrict __format,
|
||||
_G_va_list __ap) __THROW;
|
||||
|
||||
#ifdef __va_arg_pack
|
||||
__fortify_function int
|
||||
__NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
|
||||
{
|
||||
return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
|
||||
__bos (__s), __fmt, __va_arg_pack ());
|
||||
}
|
||||
#elif !defined __cplusplus
|
||||
# define sprintf(str, ...) \
|
||||
__builtin___sprintf_chk (str, __USE_FORTIFY_LEVEL - 1, __bos (str), \
|
||||
__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
__fortify_function int
|
||||
__NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt,
|
||||
_G_va_list __ap))
|
||||
{
|
||||
return __builtin___vsprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
|
||||
__bos (__s), __fmt, __ap);
|
||||
}
|
||||
|
||||
#if defined __USE_ISOC99 || defined __USE_UNIX98
|
||||
|
||||
extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
|
||||
size_t __slen, const char *__restrict __format,
|
||||
...) __THROW;
|
||||
extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
|
||||
size_t __slen, const char *__restrict __format,
|
||||
_G_va_list __ap) __THROW;
|
||||
|
||||
# ifdef __va_arg_pack
|
||||
__fortify_function int
|
||||
__NTH (snprintf (char *__restrict __s, size_t __n,
|
||||
const char *__restrict __fmt, ...))
|
||||
{
|
||||
return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
|
||||
__bos (__s), __fmt, __va_arg_pack ());
|
||||
}
|
||||
# elif !defined __cplusplus
|
||||
# define snprintf(str, len, ...) \
|
||||
__builtin___snprintf_chk (str, len, __USE_FORTIFY_LEVEL - 1, __bos (str), \
|
||||
__VA_ARGS__)
|
||||
# endif
|
||||
|
||||
__fortify_function int
|
||||
__NTH (vsnprintf (char *__restrict __s, size_t __n,
|
||||
const char *__restrict __fmt, _G_va_list __ap))
|
||||
{
|
||||
return __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
|
||||
__bos (__s), __fmt, __ap);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if __USE_FORTIFY_LEVEL > 1
|
||||
|
||||
extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
|
||||
const char *__restrict __format, ...);
|
||||
extern int __printf_chk (int __flag, const char *__restrict __format, ...);
|
||||
extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
|
||||
const char *__restrict __format, _G_va_list __ap);
|
||||
extern int __vprintf_chk (int __flag, const char *__restrict __format,
|
||||
_G_va_list __ap);
|
||||
|
||||
# ifdef __va_arg_pack
|
||||
__fortify_function int
|
||||
fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)
|
||||
{
|
||||
return __fprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt,
|
||||
__va_arg_pack ());
|
||||
}
|
||||
|
||||
__fortify_function int
|
||||
printf (const char *__restrict __fmt, ...)
|
||||
{
|
||||
return __printf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());
|
||||
}
|
||||
# elif !defined __cplusplus
|
||||
# define printf(...) \
|
||||
__printf_chk (__USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
|
||||
# define fprintf(stream, ...) \
|
||||
__fprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
|
||||
# endif
|
||||
|
||||
__fortify_function int
|
||||
vprintf (const char *__restrict __fmt, _G_va_list __ap)
|
||||
{
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
return __vfprintf_chk (stdout, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
|
||||
#else
|
||||
return __vprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __ap);
|
||||
#endif
|
||||
}
|
||||
|
||||
__fortify_function int
|
||||
vfprintf (FILE *__restrict __stream,
|
||||
const char *__restrict __fmt, _G_va_list __ap)
|
||||
{
|
||||
return __vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
|
||||
}
|
||||
|
||||
# ifdef __USE_XOPEN2K8
|
||||
extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,
|
||||
...) __attribute__ ((__format__ (__printf__, 3, 4)));
|
||||
extern int __vdprintf_chk (int __fd, int __flag,
|
||||
const char *__restrict __fmt, _G_va_list __arg)
|
||||
__attribute__ ((__format__ (__printf__, 3, 0)));
|
||||
|
||||
# ifdef __va_arg_pack
|
||||
__fortify_function int
|
||||
dprintf (int __fd, const char *__restrict __fmt, ...)
|
||||
{
|
||||
return __dprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt,
|
||||
__va_arg_pack ());
|
||||
}
|
||||
# elif !defined __cplusplus
|
||||
# define dprintf(fd, ...) \
|
||||
__dprintf_chk (fd, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
|
||||
# endif
|
||||
|
||||
__fortify_function int
|
||||
vdprintf (int __fd, const char *__restrict __fmt, _G_va_list __ap)
|
||||
{
|
||||
return __vdprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
|
||||
}
|
||||
# endif
|
||||
|
||||
# ifdef __USE_GNU
|
||||
|
||||
extern int __asprintf_chk (char **__restrict __ptr, int __flag,
|
||||
const char *__restrict __fmt, ...)
|
||||
__THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur;
|
||||
extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
|
||||
const char *__restrict __fmt, _G_va_list __arg)
|
||||
__THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur;
|
||||
extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
|
||||
int __flag, const char *__restrict __format,
|
||||
...)
|
||||
__THROW __attribute__ ((__format__ (__printf__, 3, 4)));
|
||||
extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
|
||||
int __flag,
|
||||
const char *__restrict __format,
|
||||
_G_va_list __args)
|
||||
__THROW __attribute__ ((__format__ (__printf__, 3, 0)));
|
||||
|
||||
# ifdef __va_arg_pack
|
||||
__fortify_function int
|
||||
__NTH (asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...))
|
||||
{
|
||||
return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt,
|
||||
__va_arg_pack ());
|
||||
}
|
||||
|
||||
__fortify_function int
|
||||
__NTH (__asprintf (char **__restrict __ptr, const char *__restrict __fmt,
|
||||
...))
|
||||
{
|
||||
return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt,
|
||||
__va_arg_pack ());
|
||||
}
|
||||
|
||||
__fortify_function int
|
||||
__NTH (obstack_printf (struct obstack *__restrict __obstack,
|
||||
const char *__restrict __fmt, ...))
|
||||
{
|
||||
return __obstack_printf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,
|
||||
__va_arg_pack ());
|
||||
}
|
||||
# elif !defined __cplusplus
|
||||
# define asprintf(ptr, ...) \
|
||||
__asprintf_chk (ptr, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
|
||||
# define __asprintf(ptr, ...) \
|
||||
__asprintf_chk (ptr, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
|
||||
# define obstack_printf(obstack, ...) \
|
||||
__obstack_printf_chk (obstack, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
|
||||
# endif
|
||||
|
||||
__fortify_function int
|
||||
__NTH (vasprintf (char **__restrict __ptr, const char *__restrict __fmt,
|
||||
_G_va_list __ap))
|
||||
{
|
||||
return __vasprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
|
||||
}
|
||||
|
||||
__fortify_function int
|
||||
__NTH (obstack_vprintf (struct obstack *__restrict __obstack,
|
||||
const char *__restrict __fmt, _G_va_list __ap))
|
||||
{
|
||||
return __obstack_vprintf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,
|
||||
__ap);
|
||||
}
|
||||
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#if !defined __USE_ISOC11 \
|
||||
|| (defined __cplusplus && __cplusplus <= 201103L && !defined __USE_GNU)
|
||||
extern char *__gets_chk (char *__str, size_t) __wur;
|
||||
extern char *__REDIRECT (__gets_warn, (char *__str), gets)
|
||||
__wur __warnattr ("please use fgets or getline instead, gets can't "
|
||||
"specify buffer size");
|
||||
|
||||
__fortify_function __wur char *
|
||||
gets (char *__str)
|
||||
{
|
||||
if (__bos (__str) != (size_t) -1)
|
||||
return __gets_chk (__str, __bos (__str));
|
||||
return __gets_warn (__str);
|
||||
}
|
||||
#endif
|
||||
|
||||
extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
|
||||
FILE *__restrict __stream) __wur;
|
||||
extern char *__REDIRECT (__fgets_alias,
|
||||
(char *__restrict __s, int __n,
|
||||
FILE *__restrict __stream), fgets) __wur;
|
||||
extern char *__REDIRECT (__fgets_chk_warn,
|
||||
(char *__restrict __s, size_t __size, int __n,
|
||||
FILE *__restrict __stream), __fgets_chk)
|
||||
__wur __warnattr ("fgets called with bigger size than length "
|
||||
"of destination buffer");
|
||||
|
||||
__fortify_function __wur char *
|
||||
fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
|
||||
{
|
||||
if (__bos (__s) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n) || __n <= 0)
|
||||
return __fgets_chk (__s, __bos (__s), __n, __stream);
|
||||
|
||||
if ((size_t) __n > __bos (__s))
|
||||
return __fgets_chk_warn (__s, __bos (__s), __n, __stream);
|
||||
}
|
||||
return __fgets_alias (__s, __n, __stream);
|
||||
}
|
||||
|
||||
extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,
|
||||
size_t __size, size_t __n,
|
||||
FILE *__restrict __stream) __wur;
|
||||
extern size_t __REDIRECT (__fread_alias,
|
||||
(void *__restrict __ptr, size_t __size,
|
||||
size_t __n, FILE *__restrict __stream),
|
||||
fread) __wur;
|
||||
extern size_t __REDIRECT (__fread_chk_warn,
|
||||
(void *__restrict __ptr, size_t __ptrlen,
|
||||
size_t __size, size_t __n,
|
||||
FILE *__restrict __stream),
|
||||
__fread_chk)
|
||||
__wur __warnattr ("fread called with bigger size * nmemb than length "
|
||||
"of destination buffer");
|
||||
|
||||
__fortify_function __wur size_t
|
||||
fread (void *__restrict __ptr, size_t __size, size_t __n,
|
||||
FILE *__restrict __stream)
|
||||
{
|
||||
if (__bos0 (__ptr) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__size)
|
||||
|| !__builtin_constant_p (__n)
|
||||
|| (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
|
||||
return __fread_chk (__ptr, __bos0 (__ptr), __size, __n, __stream);
|
||||
|
||||
if (__size * __n > __bos0 (__ptr))
|
||||
return __fread_chk_warn (__ptr, __bos0 (__ptr), __size, __n, __stream);
|
||||
}
|
||||
return __fread_alias (__ptr, __size, __n, __stream);
|
||||
}
|
||||
|
||||
#ifdef __USE_GNU
|
||||
extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
|
||||
int __n, FILE *__restrict __stream) __wur;
|
||||
extern char *__REDIRECT (__fgets_unlocked_alias,
|
||||
(char *__restrict __s, int __n,
|
||||
FILE *__restrict __stream), fgets_unlocked) __wur;
|
||||
extern char *__REDIRECT (__fgets_unlocked_chk_warn,
|
||||
(char *__restrict __s, size_t __size, int __n,
|
||||
FILE *__restrict __stream), __fgets_unlocked_chk)
|
||||
__wur __warnattr ("fgets_unlocked called with bigger size than length "
|
||||
"of destination buffer");
|
||||
|
||||
__fortify_function __wur char *
|
||||
fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
|
||||
{
|
||||
if (__bos (__s) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n) || __n <= 0)
|
||||
return __fgets_unlocked_chk (__s, __bos (__s), __n, __stream);
|
||||
|
||||
if ((size_t) __n > __bos (__s))
|
||||
return __fgets_unlocked_chk_warn (__s, __bos (__s), __n, __stream);
|
||||
}
|
||||
return __fgets_unlocked_alias (__s, __n, __stream);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# undef fread_unlocked
|
||||
extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,
|
||||
size_t __size, size_t __n,
|
||||
FILE *__restrict __stream) __wur;
|
||||
extern size_t __REDIRECT (__fread_unlocked_alias,
|
||||
(void *__restrict __ptr, size_t __size,
|
||||
size_t __n, FILE *__restrict __stream),
|
||||
fread_unlocked) __wur;
|
||||
extern size_t __REDIRECT (__fread_unlocked_chk_warn,
|
||||
(void *__restrict __ptr, size_t __ptrlen,
|
||||
size_t __size, size_t __n,
|
||||
FILE *__restrict __stream),
|
||||
__fread_unlocked_chk)
|
||||
__wur __warnattr ("fread_unlocked called with bigger size * nmemb than "
|
||||
"length of destination buffer");
|
||||
|
||||
__fortify_function __wur size_t
|
||||
fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
|
||||
FILE *__restrict __stream)
|
||||
{
|
||||
if (__bos0 (__ptr) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__size)
|
||||
|| !__builtin_constant_p (__n)
|
||||
|| (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
|
||||
return __fread_unlocked_chk (__ptr, __bos0 (__ptr), __size, __n,
|
||||
__stream);
|
||||
|
||||
if (__size * __n > __bos0 (__ptr))
|
||||
return __fread_unlocked_chk_warn (__ptr, __bos0 (__ptr), __size, __n,
|
||||
__stream);
|
||||
}
|
||||
|
||||
# ifdef __USE_EXTERN_INLINES
|
||||
if (__builtin_constant_p (__size)
|
||||
&& __builtin_constant_p (__n)
|
||||
&& (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2))
|
||||
&& __size * __n <= 8)
|
||||
{
|
||||
size_t __cnt = __size * __n;
|
||||
char *__cptr = (char *) __ptr;
|
||||
if (__cnt == 0)
|
||||
return 0;
|
||||
|
||||
for (; __cnt > 0; --__cnt)
|
||||
{
|
||||
int __c = _IO_getc_unlocked (__stream);
|
||||
if (__c == EOF)
|
||||
break;
|
||||
*__cptr++ = __c;
|
||||
}
|
||||
return (__cptr - (char *) __ptr) / __size;
|
||||
}
|
||||
# endif
|
||||
return __fread_unlocked_alias (__ptr, __size, __n, __stream);
|
||||
}
|
||||
#endif
|
|
@ -1,42 +0,0 @@
|
|||
/* Copyright (C) 1994-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#if !defined _STDIO_H && !defined __need_FOPEN_MAX && !defined __need_IOV_MAX
|
||||
# error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead."
|
||||
#endif
|
||||
|
||||
#ifdef _STDIO_H
|
||||
# define L_tmpnam 20
|
||||
# define TMP_MAX 238328
|
||||
# define FILENAME_MAX 4096
|
||||
|
||||
# ifdef __USE_POSIX
|
||||
# define L_ctermid 9
|
||||
# if !defined __USE_XOPEN2K || defined __USE_GNU
|
||||
# define L_cuserid 9
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined __need_FOPEN_MAX || defined _STDIO_H
|
||||
# undef FOPEN_MAX
|
||||
# define FOPEN_MAX 16
|
||||
#endif
|
||||
|
||||
#if defined __need_IOV_MAX && !defined IOV_MAX
|
||||
# define IOV_MAX 1024
|
||||
#endif
|
|
@ -1,43 +0,0 @@
|
|||
/* Perform binary search - inline version.
|
||||
Copyright (C) 1991-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
__extern_inline void *
|
||||
bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
|
||||
__compar_fn_t __compar)
|
||||
{
|
||||
size_t __l, __u, __idx;
|
||||
const void *__p;
|
||||
int __comparison;
|
||||
|
||||
__l = 0;
|
||||
__u = __nmemb;
|
||||
while (__l < __u)
|
||||
{
|
||||
__idx = (__l + __u) / 2;
|
||||
__p = (void *) (((const char *) __base) + (__idx * __size));
|
||||
__comparison = (*__compar) (__key, __p);
|
||||
if (__comparison < 0)
|
||||
__u = __idx;
|
||||
else if (__comparison > 0)
|
||||
__l = __idx + 1;
|
||||
else
|
||||
return (void *) __p;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
/* Floating-point inline functions for stdlib.h.
|
||||
Copyright (C) 2012-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STDLIB_H
|
||||
# error "Never use <bits/stdlib-float.h> directly; include <stdlib.h> instead."
|
||||
#endif
|
||||
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
__BEGIN_NAMESPACE_STD
|
||||
__extern_inline double
|
||||
__NTH (atof (const char *__nptr))
|
||||
{
|
||||
return strtod (__nptr, (char **) NULL);
|
||||
}
|
||||
__END_NAMESPACE_STD
|
||||
#endif /* Optimizing and Inlining. */
|
|
@ -1,39 +0,0 @@
|
|||
/* -mlong-double-64 compatibility mode for <stdlib.h> functions.
|
||||
Copyright (C) 2006-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STDLIB_H
|
||||
# error "Never include <bits/stdlib-ldbl.h> directly; use <stdlib.h> instead."
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
__BEGIN_NAMESPACE_C99
|
||||
__LDBL_REDIR1_DECL (strtold, strtod)
|
||||
__END_NAMESPACE_C99
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
__LDBL_REDIR1_DECL (strtold_l, strtod_l)
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
__LDBL_REDIR1_DECL (qecvt, ecvt)
|
||||
__LDBL_REDIR1_DECL (qfcvt, fcvt)
|
||||
__LDBL_REDIR1_DECL (qgcvt, gcvt)
|
||||
__LDBL_REDIR1_DECL (qecvt_r, ecvt_r)
|
||||
__LDBL_REDIR1_DECL (qfcvt_r, fcvt_r)
|
||||
#endif
|
|
@ -1,155 +0,0 @@
|
|||
/* Checking macros for stdlib functions.
|
||||
Copyright (C) 2005-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STDLIB_H
|
||||
# error "Never include <bits/stdlib.h> directly; use <stdlib.h> instead."
|
||||
#endif
|
||||
|
||||
extern char *__realpath_chk (const char *__restrict __name,
|
||||
char *__restrict __resolved,
|
||||
size_t __resolvedlen) __THROW __wur;
|
||||
extern char *__REDIRECT_NTH (__realpath_alias,
|
||||
(const char *__restrict __name,
|
||||
char *__restrict __resolved), realpath) __wur;
|
||||
extern char *__REDIRECT_NTH (__realpath_chk_warn,
|
||||
(const char *__restrict __name,
|
||||
char *__restrict __resolved,
|
||||
size_t __resolvedlen), __realpath_chk) __wur
|
||||
__warnattr ("second argument of realpath must be either NULL or at "
|
||||
"least PATH_MAX bytes long buffer");
|
||||
|
||||
__fortify_function __wur char *
|
||||
__NTH (realpath (const char *__restrict __name, char *__restrict __resolved))
|
||||
{
|
||||
if (__bos (__resolved) != (size_t) -1)
|
||||
{
|
||||
#if defined _LIBC_LIMITS_H_ && defined PATH_MAX
|
||||
if (__bos (__resolved) < PATH_MAX)
|
||||
return __realpath_chk_warn (__name, __resolved, __bos (__resolved));
|
||||
#endif
|
||||
return __realpath_chk (__name, __resolved, __bos (__resolved));
|
||||
}
|
||||
|
||||
return __realpath_alias (__name, __resolved);
|
||||
}
|
||||
|
||||
|
||||
extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
|
||||
size_t __nreal) __THROW __nonnull ((2));
|
||||
extern int __REDIRECT_NTH (__ptsname_r_alias, (int __fd, char *__buf,
|
||||
size_t __buflen), ptsname_r)
|
||||
__nonnull ((2));
|
||||
extern int __REDIRECT_NTH (__ptsname_r_chk_warn,
|
||||
(int __fd, char *__buf, size_t __buflen,
|
||||
size_t __nreal), __ptsname_r_chk)
|
||||
__nonnull ((2)) __warnattr ("ptsname_r called with buflen bigger than "
|
||||
"size of buf");
|
||||
|
||||
__fortify_function int
|
||||
__NTH (ptsname_r (int __fd, char *__buf, size_t __buflen))
|
||||
{
|
||||
if (__bos (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__buflen))
|
||||
return __ptsname_r_chk (__fd, __buf, __buflen, __bos (__buf));
|
||||
if (__buflen > __bos (__buf))
|
||||
return __ptsname_r_chk_warn (__fd, __buf, __buflen, __bos (__buf));
|
||||
}
|
||||
return __ptsname_r_alias (__fd, __buf, __buflen);
|
||||
}
|
||||
|
||||
|
||||
extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
|
||||
__THROW __wur;
|
||||
extern int __REDIRECT_NTH (__wctomb_alias, (char *__s, wchar_t __wchar),
|
||||
wctomb) __wur;
|
||||
|
||||
__fortify_function __wur int
|
||||
__NTH (wctomb (char *__s, wchar_t __wchar))
|
||||
{
|
||||
/* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
|
||||
But this would only disturb the namespace. So we define our own
|
||||
version here. */
|
||||
#define __STDLIB_MB_LEN_MAX 16
|
||||
#if defined MB_LEN_MAX && MB_LEN_MAX != __STDLIB_MB_LEN_MAX
|
||||
# error "Assumed value of MB_LEN_MAX wrong"
|
||||
#endif
|
||||
if (__bos (__s) != (size_t) -1 && __STDLIB_MB_LEN_MAX > __bos (__s))
|
||||
return __wctomb_chk (__s, __wchar, __bos (__s));
|
||||
return __wctomb_alias (__s, __wchar);
|
||||
}
|
||||
|
||||
|
||||
extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
|
||||
const char *__restrict __src,
|
||||
size_t __len, size_t __dstlen) __THROW;
|
||||
extern size_t __REDIRECT_NTH (__mbstowcs_alias,
|
||||
(wchar_t *__restrict __dst,
|
||||
const char *__restrict __src,
|
||||
size_t __len), mbstowcs);
|
||||
extern size_t __REDIRECT_NTH (__mbstowcs_chk_warn,
|
||||
(wchar_t *__restrict __dst,
|
||||
const char *__restrict __src,
|
||||
size_t __len, size_t __dstlen), __mbstowcs_chk)
|
||||
__warnattr ("mbstowcs called with dst buffer smaller than len "
|
||||
"* sizeof (wchar_t)");
|
||||
|
||||
__fortify_function size_t
|
||||
__NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src,
|
||||
size_t __len))
|
||||
{
|
||||
if (__bos (__dst) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__len))
|
||||
return __mbstowcs_chk (__dst, __src, __len,
|
||||
__bos (__dst) / sizeof (wchar_t));
|
||||
|
||||
if (__len > __bos (__dst) / sizeof (wchar_t))
|
||||
return __mbstowcs_chk_warn (__dst, __src, __len,
|
||||
__bos (__dst) / sizeof (wchar_t));
|
||||
}
|
||||
return __mbstowcs_alias (__dst, __src, __len);
|
||||
}
|
||||
|
||||
|
||||
extern size_t __wcstombs_chk (char *__restrict __dst,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __len, size_t __dstlen) __THROW;
|
||||
extern size_t __REDIRECT_NTH (__wcstombs_alias,
|
||||
(char *__restrict __dst,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __len), wcstombs);
|
||||
extern size_t __REDIRECT_NTH (__wcstombs_chk_warn,
|
||||
(char *__restrict __dst,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __len, size_t __dstlen), __wcstombs_chk)
|
||||
__warnattr ("wcstombs called with dst buffer smaller than len");
|
||||
|
||||
__fortify_function size_t
|
||||
__NTH (wcstombs (char *__restrict __dst, const wchar_t *__restrict __src,
|
||||
size_t __len))
|
||||
{
|
||||
if (__bos (__dst) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__len))
|
||||
return __wcstombs_chk (__dst, __src, __len, __bos (__dst));
|
||||
if (__len > __bos (__dst))
|
||||
return __wcstombs_chk_warn (__dst, __src, __len, __bos (__dst));
|
||||
}
|
||||
return __wcstombs_alias (__dst, __src, __len);
|
||||
}
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,151 +0,0 @@
|
|||
/* Copyright (C) 2004-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STRING_H
|
||||
# error "Never use <bits/string3.h> directly; include <string.h> instead."
|
||||
#endif
|
||||
|
||||
__warndecl (__warn_memset_zero_len,
|
||||
"memset used with constant zero length parameter; this could be due to transposed parameters");
|
||||
|
||||
#ifndef __cplusplus
|
||||
/* XXX This is temporarily. We should not redefine any of the symbols
|
||||
and instead integrate the error checking into the original
|
||||
definitions. */
|
||||
# undef memcpy
|
||||
# undef memmove
|
||||
# undef memset
|
||||
# undef strcat
|
||||
# undef strcpy
|
||||
# undef strncat
|
||||
# undef strncpy
|
||||
# ifdef __USE_GNU
|
||||
# undef mempcpy
|
||||
# undef stpcpy
|
||||
# endif
|
||||
# ifdef __USE_MISC
|
||||
# undef bcopy
|
||||
# undef bzero
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
__fortify_function void *
|
||||
__NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
|
||||
size_t __len))
|
||||
{
|
||||
return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
|
||||
}
|
||||
|
||||
__fortify_function void *
|
||||
__NTH (memmove (void *__dest, const void *__src, size_t __len))
|
||||
{
|
||||
return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
|
||||
}
|
||||
|
||||
#ifdef __USE_GNU
|
||||
__fortify_function void *
|
||||
__NTH (mempcpy (void *__restrict __dest, const void *__restrict __src,
|
||||
size_t __len))
|
||||
{
|
||||
return __builtin___mempcpy_chk (__dest, __src, __len, __bos0 (__dest));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* The first two tests here help to catch a somewhat common problem
|
||||
where the second and third parameter are transposed. This is
|
||||
especially problematic if the intended fill value is zero. In this
|
||||
case no work is done at all. We detect these problems by referring
|
||||
non-existing functions. */
|
||||
__fortify_function void *
|
||||
__NTH (memset (void *__dest, int __ch, size_t __len))
|
||||
{
|
||||
if (__builtin_constant_p (__len) && __len == 0
|
||||
&& (!__builtin_constant_p (__ch) || __ch != 0))
|
||||
{
|
||||
__warn_memset_zero_len ();
|
||||
return __dest;
|
||||
}
|
||||
return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
|
||||
}
|
||||
|
||||
#ifdef __USE_MISC
|
||||
__fortify_function void
|
||||
__NTH (bcopy (const void *__src, void *__dest, size_t __len))
|
||||
{
|
||||
(void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
|
||||
}
|
||||
|
||||
__fortify_function void
|
||||
__NTH (bzero (void *__dest, size_t __len))
|
||||
{
|
||||
(void) __builtin___memset_chk (__dest, '\0', __len, __bos0 (__dest));
|
||||
}
|
||||
#endif
|
||||
|
||||
__fortify_function char *
|
||||
__NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
|
||||
{
|
||||
return __builtin___strcpy_chk (__dest, __src, __bos (__dest));
|
||||
}
|
||||
|
||||
#ifdef __USE_GNU
|
||||
__fortify_function char *
|
||||
__NTH (stpcpy (char *__restrict __dest, const char *__restrict __src))
|
||||
{
|
||||
return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
__fortify_function char *
|
||||
__NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
|
||||
size_t __len))
|
||||
{
|
||||
return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
|
||||
}
|
||||
|
||||
// XXX We have no corresponding builtin yet.
|
||||
extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n,
|
||||
size_t __destlen) __THROW;
|
||||
extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src,
|
||||
size_t __n), stpncpy);
|
||||
|
||||
__fortify_function char *
|
||||
__NTH (stpncpy (char *__dest, const char *__src, size_t __n))
|
||||
{
|
||||
if (__bos (__dest) != (size_t) -1
|
||||
&& (!__builtin_constant_p (__n) || __n <= __bos (__dest)))
|
||||
return __stpncpy_chk (__dest, __src, __n, __bos (__dest));
|
||||
return __stpncpy_alias (__dest, __src, __n);
|
||||
}
|
||||
|
||||
|
||||
__fortify_function char *
|
||||
__NTH (strcat (char *__restrict __dest, const char *__restrict __src))
|
||||
{
|
||||
return __builtin___strcat_chk (__dest, __src, __bos (__dest));
|
||||
}
|
||||
|
||||
|
||||
__fortify_function char *
|
||||
__NTH (strncat (char *__restrict __dest, const char *__restrict __src,
|
||||
size_t __len))
|
||||
{
|
||||
return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
/* Declare sys_errlist and sys_nerr, or don't. Compatibility (do) version.
|
||||
Copyright (C) 2002-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STDIO_H
|
||||
# error "Never include <bits/sys_errlist.h> directly; use <stdio.h> instead."
|
||||
#endif
|
||||
|
||||
/* sys_errlist and sys_nerr are deprecated. Use strerror instead. */
|
||||
|
||||
#ifdef __USE_MISC
|
||||
extern int sys_nerr;
|
||||
extern const char *const sys_errlist[];
|
||||
#endif
|
||||
#ifdef __USE_GNU
|
||||
extern int _sys_nerr;
|
||||
extern const char *const _sys_errlist[];
|
||||
#endif
|
|
@ -1,99 +0,0 @@
|
|||
/* System-dependent timing definitions. Linux version.
|
||||
Copyright (C) 1996-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/*
|
||||
* Never include this file directly; use <time.h> instead.
|
||||
*/
|
||||
|
||||
#if defined __need_timeval || defined __USE_GNU
|
||||
# ifndef _STRUCT_TIMEVAL
|
||||
# define _STRUCT_TIMEVAL 1
|
||||
# include <bits/types.h>
|
||||
|
||||
/* A time value that is accurate to the nearest
|
||||
microsecond but also has a range of years. */
|
||||
struct timeval
|
||||
{
|
||||
__time_t tv_sec; /* Seconds. */
|
||||
__suseconds_t tv_usec; /* Microseconds. */
|
||||
};
|
||||
# endif /* struct timeval */
|
||||
#endif
|
||||
|
||||
#ifndef __need_timeval
|
||||
# ifndef _BITS_TIME_H
|
||||
# define _BITS_TIME_H 1
|
||||
|
||||
/* ISO/IEC 9899:1990 7.12.1: <time.h>
|
||||
The macro `CLOCKS_PER_SEC' is the number per second of the value
|
||||
returned by the `clock' function. */
|
||||
/* CAE XSH, Issue 4, Version 2: <time.h>
|
||||
The value of CLOCKS_PER_SEC is required to be 1 million on all
|
||||
XSI-conformant systems. */
|
||||
# define CLOCKS_PER_SEC 1000000l
|
||||
|
||||
# if (!defined __STRICT_ANSI__ || defined __USE_POSIX) \
|
||||
&& !defined __USE_XOPEN2K
|
||||
/* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK
|
||||
presents the real value for clock ticks per second for the system. */
|
||||
# include <bits/types.h>
|
||||
extern long int __sysconf (int);
|
||||
# define CLK_TCK ((__clock_t) __sysconf (2)) /* 2 is _SC_CLK_TCK */
|
||||
# endif
|
||||
|
||||
# ifdef __USE_POSIX199309
|
||||
/* Identifier for system-wide realtime clock. */
|
||||
# define CLOCK_REALTIME 0
|
||||
/* Monotonic system-wide clock. */
|
||||
# define CLOCK_MONOTONIC 1
|
||||
/* High-resolution timer from the CPU. */
|
||||
# define CLOCK_PROCESS_CPUTIME_ID 2
|
||||
/* Thread-specific CPU-time clock. */
|
||||
# define CLOCK_THREAD_CPUTIME_ID 3
|
||||
/* Monotonic system-wide clock, not adjusted for frequency scaling. */
|
||||
# define CLOCK_MONOTONIC_RAW 4
|
||||
/* Identifier for system-wide realtime clock, updated only on ticks. */
|
||||
# define CLOCK_REALTIME_COARSE 5
|
||||
/* Monotonic system-wide clock, updated only on ticks. */
|
||||
# define CLOCK_MONOTONIC_COARSE 6
|
||||
/* Monotonic system-wide clock that includes time spent in suspension. */
|
||||
# define CLOCK_BOOTTIME 7
|
||||
/* Like CLOCK_REALTIME but also wakes suspended system. */
|
||||
# define CLOCK_REALTIME_ALARM 8
|
||||
/* Like CLOCK_BOOTTIME but also wakes suspended system. */
|
||||
# define CLOCK_BOOTTIME_ALARM 9
|
||||
|
||||
/* Flag to indicate time is absolute. */
|
||||
# define TIMER_ABSTIME 1
|
||||
# endif
|
||||
|
||||
# ifdef __USE_GNU
|
||||
# include <bits/timex.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Tune a POSIX clock. */
|
||||
extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW;
|
||||
|
||||
__END_DECLS
|
||||
# endif /* use GNU */
|
||||
|
||||
# endif /* bits/time.h */
|
||||
#endif
|
||||
|
||||
#undef __need_timeval
|
|
@ -1,108 +0,0 @@
|
|||
/* Copyright (C) 1995-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_TIMEX_H
|
||||
#define _BITS_TIMEX_H 1
|
||||
|
||||
#include <bits/types.h>
|
||||
|
||||
/* These definitions from linux/timex.h as of 2.6.30. */
|
||||
|
||||
struct timex
|
||||
{
|
||||
unsigned int modes; /* mode selector */
|
||||
__syscall_slong_t offset; /* time offset (usec) */
|
||||
__syscall_slong_t freq; /* frequency offset (scaled ppm) */
|
||||
__syscall_slong_t maxerror; /* maximum error (usec) */
|
||||
__syscall_slong_t esterror; /* estimated error (usec) */
|
||||
int status; /* clock command/status */
|
||||
__syscall_slong_t constant; /* pll time constant */
|
||||
__syscall_slong_t precision; /* clock precision (usec) (ro) */
|
||||
__syscall_slong_t tolerance; /* clock frequency tolerance (ppm) (ro) */
|
||||
struct timeval time; /* (read only) */
|
||||
__syscall_slong_t tick; /* (modified) usecs between clock ticks */
|
||||
__syscall_slong_t ppsfreq; /* pps frequency (scaled ppm) (ro) */
|
||||
__syscall_slong_t jitter; /* pps jitter (us) (ro) */
|
||||
int shift; /* interval duration (s) (shift) (ro) */
|
||||
__syscall_slong_t stabil; /* pps stability (scaled ppm) (ro) */
|
||||
__syscall_slong_t jitcnt; /* jitter limit exceeded (ro) */
|
||||
__syscall_slong_t calcnt; /* calibration intervals (ro) */
|
||||
__syscall_slong_t errcnt; /* calibration errors (ro) */
|
||||
__syscall_slong_t stbcnt; /* stability limit exceeded (ro) */
|
||||
|
||||
int tai; /* TAI offset (ro) */
|
||||
|
||||
/* ??? */
|
||||
int :32; int :32; int :32; int :32;
|
||||
int :32; int :32; int :32; int :32;
|
||||
int :32; int :32; int :32;
|
||||
};
|
||||
|
||||
/* Mode codes (timex.mode) */
|
||||
#define ADJ_OFFSET 0x0001 /* time offset */
|
||||
#define ADJ_FREQUENCY 0x0002 /* frequency offset */
|
||||
#define ADJ_MAXERROR 0x0004 /* maximum time error */
|
||||
#define ADJ_ESTERROR 0x0008 /* estimated time error */
|
||||
#define ADJ_STATUS 0x0010 /* clock status */
|
||||
#define ADJ_TIMECONST 0x0020 /* pll time constant */
|
||||
#define ADJ_TAI 0x0080 /* set TAI offset */
|
||||
#define ADJ_MICRO 0x1000 /* select microsecond resolution */
|
||||
#define ADJ_NANO 0x2000 /* select nanosecond resolution */
|
||||
#define ADJ_TICK 0x4000 /* tick value */
|
||||
#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */
|
||||
#define ADJ_OFFSET_SS_READ 0xa001 /* read-only adjtime */
|
||||
|
||||
/* xntp 3.4 compatibility names */
|
||||
#define MOD_OFFSET ADJ_OFFSET
|
||||
#define MOD_FREQUENCY ADJ_FREQUENCY
|
||||
#define MOD_MAXERROR ADJ_MAXERROR
|
||||
#define MOD_ESTERROR ADJ_ESTERROR
|
||||
#define MOD_STATUS ADJ_STATUS
|
||||
#define MOD_TIMECONST ADJ_TIMECONST
|
||||
#define MOD_CLKB ADJ_TICK
|
||||
#define MOD_CLKA ADJ_OFFSET_SINGLESHOT /* 0x8000 in original */
|
||||
#define MOD_TAI ADJ_TAI
|
||||
#define MOD_MICRO ADJ_MICRO
|
||||
#define MOD_NANO ADJ_NANO
|
||||
|
||||
|
||||
/* Status codes (timex.status) */
|
||||
#define STA_PLL 0x0001 /* enable PLL updates (rw) */
|
||||
#define STA_PPSFREQ 0x0002 /* enable PPS freq discipline (rw) */
|
||||
#define STA_PPSTIME 0x0004 /* enable PPS time discipline (rw) */
|
||||
#define STA_FLL 0x0008 /* select frequency-lock mode (rw) */
|
||||
|
||||
#define STA_INS 0x0010 /* insert leap (rw) */
|
||||
#define STA_DEL 0x0020 /* delete leap (rw) */
|
||||
#define STA_UNSYNC 0x0040 /* clock unsynchronized (rw) */
|
||||
#define STA_FREQHOLD 0x0080 /* hold frequency (rw) */
|
||||
|
||||
#define STA_PPSSIGNAL 0x0100 /* PPS signal present (ro) */
|
||||
#define STA_PPSJITTER 0x0200 /* PPS signal jitter exceeded (ro) */
|
||||
#define STA_PPSWANDER 0x0400 /* PPS signal wander exceeded (ro) */
|
||||
#define STA_PPSERROR 0x0800 /* PPS signal calibration error (ro) */
|
||||
|
||||
#define STA_CLOCKERR 0x1000 /* clock hardware fault (ro) */
|
||||
#define STA_NANO 0x2000 /* resolution (0 = us, 1 = ns) (ro) */
|
||||
#define STA_MODE 0x4000 /* mode (0 = PLL, 1 = FLL) (ro) */
|
||||
#define STA_CLK 0x8000 /* clock source (0 = A, 1 = B) (ro) */
|
||||
|
||||
/* Read-only bits */
|
||||
#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
|
||||
STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
|
||||
|
||||
#endif /* bits/timex.h */
|
|
@ -1,194 +0,0 @@
|
|||
/* bits/types.h -- definitions of __*_t types underlying *_t types.
|
||||
Copyright (C) 2002-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/*
|
||||
* Never include this file directly; use <sys/types.h> instead.
|
||||
*/
|
||||
|
||||
#ifndef _BITS_TYPES_H
|
||||
#define _BITS_TYPES_H 1
|
||||
|
||||
#include <features.h>
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
/* Convenience types. */
|
||||
typedef unsigned char __u_char;
|
||||
typedef unsigned short int __u_short;
|
||||
typedef unsigned int __u_int;
|
||||
typedef unsigned long int __u_long;
|
||||
|
||||
/* Fixed-size types, underlying types depend on word size and compiler. */
|
||||
typedef signed char __int8_t;
|
||||
typedef unsigned char __uint8_t;
|
||||
typedef signed short int __int16_t;
|
||||
typedef unsigned short int __uint16_t;
|
||||
typedef signed int __int32_t;
|
||||
typedef unsigned int __uint32_t;
|
||||
#if __WORDSIZE == 64
|
||||
typedef signed long int __int64_t;
|
||||
typedef unsigned long int __uint64_t;
|
||||
#else
|
||||
__extension__ typedef signed long long int __int64_t;
|
||||
__extension__ typedef unsigned long long int __uint64_t;
|
||||
#endif
|
||||
|
||||
/* quad_t is also 64 bits. */
|
||||
#if __WORDSIZE == 64
|
||||
typedef long int __quad_t;
|
||||
typedef unsigned long int __u_quad_t;
|
||||
#else
|
||||
__extension__ typedef long long int __quad_t;
|
||||
__extension__ typedef unsigned long long int __u_quad_t;
|
||||
#endif
|
||||
|
||||
|
||||
/* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
|
||||
macros for each of the OS types we define below. The definitions
|
||||
of those macros must use the following macros for underlying types.
|
||||
We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
|
||||
variants of each of the following integer types on this machine.
|
||||
|
||||
16 -- "natural" 16-bit type (always short)
|
||||
32 -- "natural" 32-bit type (always int)
|
||||
64 -- "natural" 64-bit type (long or long long)
|
||||
LONG32 -- 32-bit type, traditionally long
|
||||
QUAD -- 64-bit type, always long long
|
||||
WORD -- natural type of __WORDSIZE bits (int or long)
|
||||
LONGWORD -- type of __WORDSIZE bits, traditionally long
|
||||
|
||||
We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
|
||||
conventional uses of `long' or `long long' type modifiers match the
|
||||
types we define, even when a less-adorned type would be the same size.
|
||||
This matters for (somewhat) portably writing printf/scanf formats for
|
||||
these types, where using the appropriate l or ll format modifiers can
|
||||
make the typedefs and the formats match up across all GNU platforms. If
|
||||
we used `long' when it's 64 bits where `long long' is expected, then the
|
||||
compiler would warn about the formats not matching the argument types,
|
||||
and the programmer changing them to shut up the compiler would break the
|
||||
program's portability.
|
||||
|
||||
Here we assume what is presently the case in all the GCC configurations
|
||||
we support: long long is always 64 bits, long is always word/address size,
|
||||
and int is always 32 bits. */
|
||||
|
||||
#define __S16_TYPE short int
|
||||
#define __U16_TYPE unsigned short int
|
||||
#define __S32_TYPE int
|
||||
#define __U32_TYPE unsigned int
|
||||
#define __SLONGWORD_TYPE long int
|
||||
#define __ULONGWORD_TYPE unsigned long int
|
||||
#if __WORDSIZE == 32
|
||||
# define __SQUAD_TYPE __quad_t
|
||||
# define __UQUAD_TYPE __u_quad_t
|
||||
# define __SWORD_TYPE int
|
||||
# define __UWORD_TYPE unsigned int
|
||||
# define __SLONG32_TYPE long int
|
||||
# define __ULONG32_TYPE unsigned long int
|
||||
# define __S64_TYPE __quad_t
|
||||
# define __U64_TYPE __u_quad_t
|
||||
/* We want __extension__ before typedef's that use nonstandard base types
|
||||
such as `long long' in C89 mode. */
|
||||
# define __STD_TYPE __extension__ typedef
|
||||
#elif __WORDSIZE == 64
|
||||
# define __SQUAD_TYPE long int
|
||||
# define __UQUAD_TYPE unsigned long int
|
||||
# define __SWORD_TYPE long int
|
||||
# define __UWORD_TYPE unsigned long int
|
||||
# define __SLONG32_TYPE int
|
||||
# define __ULONG32_TYPE unsigned int
|
||||
# define __S64_TYPE long int
|
||||
# define __U64_TYPE unsigned long int
|
||||
/* No need to mark the typedef with __extension__. */
|
||||
# define __STD_TYPE typedef
|
||||
#else
|
||||
# error
|
||||
#endif
|
||||
#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */
|
||||
|
||||
|
||||
__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */
|
||||
__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */
|
||||
__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */
|
||||
__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */
|
||||
__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/
|
||||
__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */
|
||||
__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */
|
||||
__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */
|
||||
__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */
|
||||
__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */
|
||||
__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */
|
||||
__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */
|
||||
__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */
|
||||
__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */
|
||||
__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */
|
||||
__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
|
||||
__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
|
||||
__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
|
||||
|
||||
__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
|
||||
__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */
|
||||
|
||||
/* Clock ID used in clock and timer functions. */
|
||||
__STD_TYPE __CLOCKID_T_TYPE __clockid_t;
|
||||
|
||||
/* Timer ID returned by `timer_create'. */
|
||||
__STD_TYPE __TIMER_T_TYPE __timer_t;
|
||||
|
||||
/* Type to represent block size. */
|
||||
__STD_TYPE __BLKSIZE_T_TYPE __blksize_t;
|
||||
|
||||
/* Types from the Large File Support interface. */
|
||||
|
||||
/* Type to count number of disk blocks. */
|
||||
__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t;
|
||||
__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t;
|
||||
|
||||
/* Type to count file system blocks. */
|
||||
__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t;
|
||||
__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t;
|
||||
|
||||
/* Type to count file system nodes. */
|
||||
__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t;
|
||||
__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t;
|
||||
|
||||
/* Type of miscellaneous file system fields. */
|
||||
__STD_TYPE __FSWORD_T_TYPE __fsword_t;
|
||||
|
||||
__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */
|
||||
|
||||
/* Signed long type used in system calls. */
|
||||
__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t;
|
||||
/* Unsigned long type used in system calls. */
|
||||
__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t;
|
||||
|
||||
/* These few don't really vary by system, they always correspond
|
||||
to one of the other defined types. */
|
||||
typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */
|
||||
typedef __quad_t *__qaddr_t;
|
||||
typedef char *__caddr_t;
|
||||
|
||||
/* Duplicates info from stdint.h but this is used in unistd.h. */
|
||||
__STD_TYPE __SWORD_TYPE __intptr_t;
|
||||
|
||||
/* Duplicate info from sys/socket.h. */
|
||||
__STD_TYPE __U32_TYPE __socklen_t;
|
||||
|
||||
|
||||
#undef __STD_TYPE
|
||||
|
||||
#endif /* bits/types.h */
|
|
@ -1,89 +0,0 @@
|
|||
/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
|
||||
Copyright (C) 2012-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_TYPES_H
|
||||
# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef _BITS_TYPESIZES_H
|
||||
#define _BITS_TYPESIZES_H 1
|
||||
|
||||
/* See <bits/types.h> for the meaning of these macros. This file exists so
|
||||
that <bits/types.h> need not vary across different GNU platforms. */
|
||||
|
||||
/* X32 kernel interface is 64-bit. */
|
||||
#if defined __x86_64__ && defined __ILP32__
|
||||
# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE
|
||||
# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE
|
||||
#else
|
||||
# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
|
||||
# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
|
||||
#endif
|
||||
|
||||
#define __DEV_T_TYPE __UQUAD_TYPE
|
||||
#define __UID_T_TYPE __U32_TYPE
|
||||
#define __GID_T_TYPE __U32_TYPE
|
||||
#define __INO_T_TYPE __SYSCALL_ULONG_TYPE
|
||||
#define __INO64_T_TYPE __UQUAD_TYPE
|
||||
#define __MODE_T_TYPE __U32_TYPE
|
||||
#ifdef __x86_64__
|
||||
# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
|
||||
# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#else
|
||||
# define __NLINK_T_TYPE __UWORD_TYPE
|
||||
# define __FSWORD_T_TYPE __SWORD_TYPE
|
||||
#endif
|
||||
#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#define __OFF64_T_TYPE __SQUAD_TYPE
|
||||
#define __PID_T_TYPE __S32_TYPE
|
||||
#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE
|
||||
#define __RLIM64_T_TYPE __UQUAD_TYPE
|
||||
#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#define __BLKCNT64_T_TYPE __SQUAD_TYPE
|
||||
#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
|
||||
#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
|
||||
#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
|
||||
#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
|
||||
#define __ID_T_TYPE __U32_TYPE
|
||||
#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#define __USECONDS_T_TYPE __U32_TYPE
|
||||
#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#define __DADDR_T_TYPE __S32_TYPE
|
||||
#define __KEY_T_TYPE __S32_TYPE
|
||||
#define __CLOCKID_T_TYPE __S32_TYPE
|
||||
#define __TIMER_T_TYPE void *
|
||||
#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#define __FSID_T_TYPE struct { int __val[2]; }
|
||||
#define __SSIZE_T_TYPE __SWORD_TYPE
|
||||
|
||||
#ifdef __x86_64__
|
||||
/* Tell the libc code that off_t and off64_t are actually the same type
|
||||
for all ABI purposes, even if possibly expressed as different base types
|
||||
for C type-checking purposes. */
|
||||
# define __OFF_T_MATCHES_OFF64_T 1
|
||||
|
||||
/* Same for ino_t and ino64_t. */
|
||||
# define __INO_T_MATCHES_INO64_T 1
|
||||
#endif
|
||||
|
||||
/* Number of descriptors that can fit in an `fd_set'. */
|
||||
#define __FD_SETSIZE 1024
|
||||
|
||||
|
||||
#endif /* bits/typesizes.h */
|
|
@ -1,385 +0,0 @@
|
|||
/* Checking macros for unistd functions.
|
||||
Copyright (C) 2005-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _UNISTD_H
|
||||
# error "Never include <bits/unistd.h> directly; use <unistd.h> instead."
|
||||
#endif
|
||||
|
||||
extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes,
|
||||
size_t __buflen) __wur;
|
||||
extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf,
|
||||
size_t __nbytes), read) __wur;
|
||||
extern ssize_t __REDIRECT (__read_chk_warn,
|
||||
(int __fd, void *__buf, size_t __nbytes,
|
||||
size_t __buflen), __read_chk)
|
||||
__wur __warnattr ("read called with bigger length than size of "
|
||||
"the destination buffer");
|
||||
|
||||
__fortify_function __wur ssize_t
|
||||
read (int __fd, void *__buf, size_t __nbytes)
|
||||
{
|
||||
if (__bos0 (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__nbytes))
|
||||
return __read_chk (__fd, __buf, __nbytes, __bos0 (__buf));
|
||||
|
||||
if (__nbytes > __bos0 (__buf))
|
||||
return __read_chk_warn (__fd, __buf, __nbytes, __bos0 (__buf));
|
||||
}
|
||||
return __read_alias (__fd, __buf, __nbytes);
|
||||
}
|
||||
|
||||
#ifdef __USE_UNIX98
|
||||
extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes,
|
||||
__off_t __offset, size_t __bufsize) __wur;
|
||||
extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes,
|
||||
__off64_t __offset, size_t __bufsize) __wur;
|
||||
extern ssize_t __REDIRECT (__pread_alias,
|
||||
(int __fd, void *__buf, size_t __nbytes,
|
||||
__off_t __offset), pread) __wur;
|
||||
extern ssize_t __REDIRECT (__pread64_alias,
|
||||
(int __fd, void *__buf, size_t __nbytes,
|
||||
__off64_t __offset), pread64) __wur;
|
||||
extern ssize_t __REDIRECT (__pread_chk_warn,
|
||||
(int __fd, void *__buf, size_t __nbytes,
|
||||
__off_t __offset, size_t __bufsize), __pread_chk)
|
||||
__wur __warnattr ("pread called with bigger length than size of "
|
||||
"the destination buffer");
|
||||
extern ssize_t __REDIRECT (__pread64_chk_warn,
|
||||
(int __fd, void *__buf, size_t __nbytes,
|
||||
__off64_t __offset, size_t __bufsize),
|
||||
__pread64_chk)
|
||||
__wur __warnattr ("pread64 called with bigger length than size of "
|
||||
"the destination buffer");
|
||||
|
||||
# ifndef __USE_FILE_OFFSET64
|
||||
__fortify_function __wur ssize_t
|
||||
pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset)
|
||||
{
|
||||
if (__bos0 (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__nbytes))
|
||||
return __pread_chk (__fd, __buf, __nbytes, __offset, __bos0 (__buf));
|
||||
|
||||
if ( __nbytes > __bos0 (__buf))
|
||||
return __pread_chk_warn (__fd, __buf, __nbytes, __offset,
|
||||
__bos0 (__buf));
|
||||
}
|
||||
return __pread_alias (__fd, __buf, __nbytes, __offset);
|
||||
}
|
||||
# else
|
||||
__fortify_function __wur ssize_t
|
||||
pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
|
||||
{
|
||||
if (__bos0 (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__nbytes))
|
||||
return __pread64_chk (__fd, __buf, __nbytes, __offset, __bos0 (__buf));
|
||||
|
||||
if ( __nbytes > __bos0 (__buf))
|
||||
return __pread64_chk_warn (__fd, __buf, __nbytes, __offset,
|
||||
__bos0 (__buf));
|
||||
}
|
||||
|
||||
return __pread64_alias (__fd, __buf, __nbytes, __offset);
|
||||
}
|
||||
# endif
|
||||
|
||||
# ifdef __USE_LARGEFILE64
|
||||
__fortify_function __wur ssize_t
|
||||
pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
|
||||
{
|
||||
if (__bos0 (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__nbytes))
|
||||
return __pread64_chk (__fd, __buf, __nbytes, __offset, __bos0 (__buf));
|
||||
|
||||
if ( __nbytes > __bos0 (__buf))
|
||||
return __pread64_chk_warn (__fd, __buf, __nbytes, __offset,
|
||||
__bos0 (__buf));
|
||||
}
|
||||
|
||||
return __pread64_alias (__fd, __buf, __nbytes, __offset);
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K
|
||||
extern ssize_t __readlink_chk (const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len,
|
||||
size_t __buflen)
|
||||
__THROW __nonnull ((1, 2)) __wur;
|
||||
extern ssize_t __REDIRECT_NTH (__readlink_alias,
|
||||
(const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len), readlink)
|
||||
__nonnull ((1, 2)) __wur;
|
||||
extern ssize_t __REDIRECT_NTH (__readlink_chk_warn,
|
||||
(const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len,
|
||||
size_t __buflen), __readlink_chk)
|
||||
__nonnull ((1, 2)) __wur __warnattr ("readlink called with bigger length "
|
||||
"than size of destination buffer");
|
||||
|
||||
__fortify_function __nonnull ((1, 2)) __wur ssize_t
|
||||
__NTH (readlink (const char *__restrict __path, char *__restrict __buf,
|
||||
size_t __len))
|
||||
{
|
||||
if (__bos (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__len))
|
||||
return __readlink_chk (__path, __buf, __len, __bos (__buf));
|
||||
|
||||
if ( __len > __bos (__buf))
|
||||
return __readlink_chk_warn (__path, __buf, __len, __bos (__buf));
|
||||
}
|
||||
return __readlink_alias (__path, __buf, __len);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ATFILE
|
||||
extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len,
|
||||
size_t __buflen)
|
||||
__THROW __nonnull ((2, 3)) __wur;
|
||||
extern ssize_t __REDIRECT_NTH (__readlinkat_alias,
|
||||
(int __fd, const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len),
|
||||
readlinkat)
|
||||
__nonnull ((2, 3)) __wur;
|
||||
extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn,
|
||||
(int __fd, const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len,
|
||||
size_t __buflen), __readlinkat_chk)
|
||||
__nonnull ((2, 3)) __wur __warnattr ("readlinkat called with bigger "
|
||||
"length than size of destination "
|
||||
"buffer");
|
||||
|
||||
__fortify_function __nonnull ((2, 3)) __wur ssize_t
|
||||
__NTH (readlinkat (int __fd, const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len))
|
||||
{
|
||||
if (__bos (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__len))
|
||||
return __readlinkat_chk (__fd, __path, __buf, __len, __bos (__buf));
|
||||
|
||||
if (__len > __bos (__buf))
|
||||
return __readlinkat_chk_warn (__fd, __path, __buf, __len,
|
||||
__bos (__buf));
|
||||
}
|
||||
return __readlinkat_alias (__fd, __path, __buf, __len);
|
||||
}
|
||||
#endif
|
||||
|
||||
extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)
|
||||
__THROW __wur;
|
||||
extern char *__REDIRECT_NTH (__getcwd_alias,
|
||||
(char *__buf, size_t __size), getcwd) __wur;
|
||||
extern char *__REDIRECT_NTH (__getcwd_chk_warn,
|
||||
(char *__buf, size_t __size, size_t __buflen),
|
||||
__getcwd_chk)
|
||||
__wur __warnattr ("getcwd caller with bigger length than size of "
|
||||
"destination buffer");
|
||||
|
||||
__fortify_function __wur char *
|
||||
__NTH (getcwd (char *__buf, size_t __size))
|
||||
{
|
||||
if (__bos (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__size))
|
||||
return __getcwd_chk (__buf, __size, __bos (__buf));
|
||||
|
||||
if (__size > __bos (__buf))
|
||||
return __getcwd_chk_warn (__buf, __size, __bos (__buf));
|
||||
}
|
||||
return __getcwd_alias (__buf, __size);
|
||||
}
|
||||
|
||||
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
|
||||
extern char *__getwd_chk (char *__buf, size_t buflen)
|
||||
__THROW __nonnull ((1)) __wur;
|
||||
extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd)
|
||||
__nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd "
|
||||
"doesn't specify buffer size");
|
||||
|
||||
__fortify_function __nonnull ((1)) __attribute_deprecated__ __wur char *
|
||||
__NTH (getwd (char *__buf))
|
||||
{
|
||||
if (__bos (__buf) != (size_t) -1)
|
||||
return __getwd_chk (__buf, __bos (__buf));
|
||||
return __getwd_warn (__buf);
|
||||
}
|
||||
#endif
|
||||
|
||||
extern size_t __confstr_chk (int __name, char *__buf, size_t __len,
|
||||
size_t __buflen) __THROW;
|
||||
extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf,
|
||||
size_t __len), confstr);
|
||||
extern size_t __REDIRECT_NTH (__confstr_chk_warn,
|
||||
(int __name, char *__buf, size_t __len,
|
||||
size_t __buflen), __confstr_chk)
|
||||
__warnattr ("confstr called with bigger length than size of destination "
|
||||
"buffer");
|
||||
|
||||
__fortify_function size_t
|
||||
__NTH (confstr (int __name, char *__buf, size_t __len))
|
||||
{
|
||||
if (__bos (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__len))
|
||||
return __confstr_chk (__name, __buf, __len, __bos (__buf));
|
||||
|
||||
if (__bos (__buf) < __len)
|
||||
return __confstr_chk_warn (__name, __buf, __len, __bos (__buf));
|
||||
}
|
||||
return __confstr_alias (__name, __buf, __len);
|
||||
}
|
||||
|
||||
|
||||
extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)
|
||||
__THROW __wur;
|
||||
extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]),
|
||||
getgroups) __wur;
|
||||
extern int __REDIRECT_NTH (__getgroups_chk_warn,
|
||||
(int __size, __gid_t __list[], size_t __listlen),
|
||||
__getgroups_chk)
|
||||
__wur __warnattr ("getgroups called with bigger group count than what "
|
||||
"can fit into destination buffer");
|
||||
|
||||
__fortify_function int
|
||||
__NTH (getgroups (int __size, __gid_t __list[]))
|
||||
{
|
||||
if (__bos (__list) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__size) || __size < 0)
|
||||
return __getgroups_chk (__size, __list, __bos (__list));
|
||||
|
||||
if (__size * sizeof (__gid_t) > __bos (__list))
|
||||
return __getgroups_chk_warn (__size, __list, __bos (__list));
|
||||
}
|
||||
return __getgroups_alias (__size, __list);
|
||||
}
|
||||
|
||||
|
||||
extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen,
|
||||
size_t __nreal) __THROW __nonnull ((2));
|
||||
extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf,
|
||||
size_t __buflen), ttyname_r)
|
||||
__nonnull ((2));
|
||||
extern int __REDIRECT_NTH (__ttyname_r_chk_warn,
|
||||
(int __fd, char *__buf, size_t __buflen,
|
||||
size_t __nreal), __ttyname_r_chk)
|
||||
__nonnull ((2)) __warnattr ("ttyname_r called with bigger buflen than "
|
||||
"size of destination buffer");
|
||||
|
||||
__fortify_function int
|
||||
__NTH (ttyname_r (int __fd, char *__buf, size_t __buflen))
|
||||
{
|
||||
if (__bos (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__buflen))
|
||||
return __ttyname_r_chk (__fd, __buf, __buflen, __bos (__buf));
|
||||
|
||||
if (__buflen > __bos (__buf))
|
||||
return __ttyname_r_chk_warn (__fd, __buf, __buflen, __bos (__buf));
|
||||
}
|
||||
return __ttyname_r_alias (__fd, __buf, __buflen);
|
||||
}
|
||||
|
||||
|
||||
#if defined __USE_REENTRANT || defined __USE_POSIX199506
|
||||
extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)
|
||||
__nonnull ((1));
|
||||
extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen),
|
||||
getlogin_r) __nonnull ((1));
|
||||
extern int __REDIRECT (__getlogin_r_chk_warn,
|
||||
(char *__buf, size_t __buflen, size_t __nreal),
|
||||
__getlogin_r_chk)
|
||||
__nonnull ((1)) __warnattr ("getlogin_r called with bigger buflen than "
|
||||
"size of destination buffer");
|
||||
|
||||
__fortify_function int
|
||||
getlogin_r (char *__buf, size_t __buflen)
|
||||
{
|
||||
if (__bos (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__buflen))
|
||||
return __getlogin_r_chk (__buf, __buflen, __bos (__buf));
|
||||
|
||||
if (__buflen > __bos (__buf))
|
||||
return __getlogin_r_chk_warn (__buf, __buflen, __bos (__buf));
|
||||
}
|
||||
return __getlogin_r_alias (__buf, __buflen);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if defined __USE_MISC || defined __USE_UNIX98
|
||||
extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)
|
||||
__THROW __nonnull ((1));
|
||||
extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen),
|
||||
gethostname) __nonnull ((1));
|
||||
extern int __REDIRECT_NTH (__gethostname_chk_warn,
|
||||
(char *__buf, size_t __buflen, size_t __nreal),
|
||||
__gethostname_chk)
|
||||
__nonnull ((1)) __warnattr ("gethostname called with bigger buflen than "
|
||||
"size of destination buffer");
|
||||
|
||||
__fortify_function int
|
||||
__NTH (gethostname (char *__buf, size_t __buflen))
|
||||
{
|
||||
if (__bos (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__buflen))
|
||||
return __gethostname_chk (__buf, __buflen, __bos (__buf));
|
||||
|
||||
if (__buflen > __bos (__buf))
|
||||
return __gethostname_chk_warn (__buf, __buflen, __bos (__buf));
|
||||
}
|
||||
return __gethostname_alias (__buf, __buflen);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98)
|
||||
extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal)
|
||||
__THROW __nonnull ((1)) __wur;
|
||||
extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf,
|
||||
size_t __buflen),
|
||||
getdomainname) __nonnull ((1)) __wur;
|
||||
extern int __REDIRECT_NTH (__getdomainname_chk_warn,
|
||||
(char *__buf, size_t __buflen, size_t __nreal),
|
||||
__getdomainname_chk)
|
||||
__nonnull ((1)) __wur __warnattr ("getdomainname called with bigger "
|
||||
"buflen than size of destination "
|
||||
"buffer");
|
||||
|
||||
__fortify_function int
|
||||
__NTH (getdomainname (char *__buf, size_t __buflen))
|
||||
{
|
||||
if (__bos (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__buflen))
|
||||
return __getdomainname_chk (__buf, __buflen, __bos (__buf));
|
||||
|
||||
if (__buflen > __bos (__buf))
|
||||
return __getdomainname_chk_warn (__buf, __buflen, __bos (__buf));
|
||||
}
|
||||
return __getdomainname_alias (__buf, __buflen);
|
||||
}
|
||||
#endif
|
|
@ -1,37 +0,0 @@
|
|||
/* Definitions of flag bits for `waitpid' et al.
|
||||
Copyright (C) 1992-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#if !defined _SYS_WAIT_H && !defined _STDLIB_H
|
||||
# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
/* Bits in the third argument to `waitpid'. */
|
||||
#define WNOHANG 1 /* Don't block waiting. */
|
||||
#define WUNTRACED 2 /* Report status of stopped children. */
|
||||
|
||||
/* Bits in the fourth argument to `waitid'. */
|
||||
#define WSTOPPED 2 /* Report stopped child (same as WUNTRACED). */
|
||||
#define WEXITED 4 /* Report dead child. */
|
||||
#define WCONTINUED 8 /* Report continued child. */
|
||||
#define WNOWAIT 0x01000000 /* Don't reap, just poll status. */
|
||||
|
||||
#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads
|
||||
in this group */
|
||||
#define __WALL 0x40000000 /* Wait for any child. */
|
||||
#define __WCLONE 0x80000000 /* Wait for cloned process. */
|
|
@ -1,105 +0,0 @@
|
|||
/* Definitions of status bits for `wait' et al.
|
||||
Copyright (C) 1992-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#if !defined _SYS_WAIT_H && !defined _STDLIB_H
|
||||
# error "Never include <bits/waitstatus.h> directly; use <sys/wait.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
/* Everything extant so far uses these same bits. */
|
||||
|
||||
|
||||
/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */
|
||||
#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
|
||||
|
||||
/* If WIFSIGNALED(STATUS), the terminating signal. */
|
||||
#define __WTERMSIG(status) ((status) & 0x7f)
|
||||
|
||||
/* If WIFSTOPPED(STATUS), the signal that stopped the child. */
|
||||
#define __WSTOPSIG(status) __WEXITSTATUS(status)
|
||||
|
||||
/* Nonzero if STATUS indicates normal termination. */
|
||||
#define __WIFEXITED(status) (__WTERMSIG(status) == 0)
|
||||
|
||||
/* Nonzero if STATUS indicates termination by a signal. */
|
||||
#define __WIFSIGNALED(status) \
|
||||
(((signed char) (((status) & 0x7f) + 1) >> 1) > 0)
|
||||
|
||||
/* Nonzero if STATUS indicates the child is stopped. */
|
||||
#define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
|
||||
|
||||
/* Nonzero if STATUS indicates the child continued after a stop. We only
|
||||
define this if <bits/waitflags.h> provides the WCONTINUED flag bit. */
|
||||
#ifdef WCONTINUED
|
||||
# define __WIFCONTINUED(status) ((status) == __W_CONTINUED)
|
||||
#endif
|
||||
|
||||
/* Nonzero if STATUS indicates the child dumped core. */
|
||||
#define __WCOREDUMP(status) ((status) & __WCOREFLAG)
|
||||
|
||||
/* Macros for constructing status values. */
|
||||
#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
|
||||
#define __W_STOPCODE(sig) ((sig) << 8 | 0x7f)
|
||||
#define __W_CONTINUED 0xffff
|
||||
#define __WCOREFLAG 0x80
|
||||
|
||||
|
||||
#ifdef __USE_MISC
|
||||
|
||||
# include <endian.h>
|
||||
|
||||
union wait
|
||||
{
|
||||
int w_status;
|
||||
struct
|
||||
{
|
||||
# if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
unsigned int __w_termsig:7; /* Terminating signal. */
|
||||
unsigned int __w_coredump:1; /* Set if dumped core. */
|
||||
unsigned int __w_retcode:8; /* Return code if exited normally. */
|
||||
unsigned int:16;
|
||||
# endif /* Little endian. */
|
||||
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||
unsigned int:16;
|
||||
unsigned int __w_retcode:8;
|
||||
unsigned int __w_coredump:1;
|
||||
unsigned int __w_termsig:7;
|
||||
# endif /* Big endian. */
|
||||
} __wait_terminated;
|
||||
struct
|
||||
{
|
||||
# if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
unsigned int __w_stopval:8; /* W_STOPPED if stopped. */
|
||||
unsigned int __w_stopsig:8; /* Stopping signal. */
|
||||
unsigned int:16;
|
||||
# endif /* Little endian. */
|
||||
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||
unsigned int:16;
|
||||
unsigned int __w_stopsig:8; /* Stopping signal. */
|
||||
unsigned int __w_stopval:8; /* W_STOPPED if stopped. */
|
||||
# endif /* Big endian. */
|
||||
} __wait_stopped;
|
||||
};
|
||||
|
||||
# define w_termsig __wait_terminated.__w_termsig
|
||||
# define w_coredump __wait_terminated.__w_coredump
|
||||
# define w_retcode __wait_terminated.__w_retcode
|
||||
# define w_stopsig __wait_stopped.__w_stopsig
|
||||
# define w_stopval __wait_stopped.__w_stopval
|
||||
|
||||
#endif /* Use misc. */
|
|
@ -1,74 +0,0 @@
|
|||
/* -mlong-double-64 compatibility mode for <wchar.h> functions.
|
||||
Copyright (C) 2006-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _WCHAR_H
|
||||
# error "Never include <bits/wchar-ldbl.h> directly; use <wchar.h> instead."
|
||||
#endif
|
||||
|
||||
#if defined __USE_ISOC95 || defined __USE_UNIX98
|
||||
__BEGIN_NAMESPACE_C99
|
||||
__LDBL_REDIR_DECL (fwprintf);
|
||||
__LDBL_REDIR_DECL (wprintf);
|
||||
__LDBL_REDIR_DECL (swprintf);
|
||||
__LDBL_REDIR_DECL (vfwprintf);
|
||||
__LDBL_REDIR_DECL (vwprintf);
|
||||
__LDBL_REDIR_DECL (vswprintf);
|
||||
# if defined __USE_ISOC99 && !defined __USE_GNU \
|
||||
&& !defined __REDIRECT \
|
||||
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
|
||||
__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf)
|
||||
__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf)
|
||||
__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf)
|
||||
# else
|
||||
__LDBL_REDIR_DECL (fwscanf);
|
||||
__LDBL_REDIR_DECL (wscanf);
|
||||
__LDBL_REDIR_DECL (swscanf);
|
||||
# endif
|
||||
__END_NAMESPACE_C99
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
__BEGIN_NAMESPACE_C99
|
||||
__LDBL_REDIR1_DECL (wcstold, wcstod);
|
||||
# if !defined __USE_GNU && !defined __REDIRECT \
|
||||
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
|
||||
__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf)
|
||||
__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf)
|
||||
__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf)
|
||||
# else
|
||||
__LDBL_REDIR_DECL (vfwscanf);
|
||||
__LDBL_REDIR_DECL (vwscanf);
|
||||
__LDBL_REDIR_DECL (vswscanf);
|
||||
# endif
|
||||
__END_NAMESPACE_C99
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
__LDBL_REDIR1_DECL (wcstold_l, wcstod_l);
|
||||
#endif
|
||||
|
||||
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
|
||||
__LDBL_REDIR_DECL (__swprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vswprintf_chk)
|
||||
# if __USE_FORTIFY_LEVEL > 1
|
||||
__LDBL_REDIR_DECL (__fwprintf_chk)
|
||||
__LDBL_REDIR_DECL (__wprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vfwprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vwprintf_chk)
|
||||
# endif
|
||||
#endif
|
|
@ -1,49 +0,0 @@
|
|||
/* wchar_t type related definitions.
|
||||
Copyright (C) 2000-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_WCHAR_H
|
||||
#define _BITS_WCHAR_H 1
|
||||
|
||||
/* The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__
|
||||
are not defined, give the right value and type as long as both int
|
||||
and wchar_t are 32-bit types. Adding L'\0' to a constant value
|
||||
ensures that the type is correct; it is necessary to use (L'\0' +
|
||||
0) rather than just L'\0' so that the type in C++ is the promoted
|
||||
version of wchar_t rather than the distinct wchar_t type itself.
|
||||
Because wchar_t in preprocessor #if expressions is treated as
|
||||
intmax_t or uintmax_t, the expression (L'\0' - 1) would have the
|
||||
wrong value for WCHAR_MAX in such expressions and so cannot be used
|
||||
to define __WCHAR_MAX in the unsigned case. */
|
||||
|
||||
#ifdef __WCHAR_MAX__
|
||||
# define __WCHAR_MAX __WCHAR_MAX__
|
||||
#elif L'\0' - 1 > 0
|
||||
# define __WCHAR_MAX (0xffffffffu + L'\0')
|
||||
#else
|
||||
# define __WCHAR_MAX (0x7fffffff + L'\0')
|
||||
#endif
|
||||
|
||||
#ifdef __WCHAR_MIN__
|
||||
# define __WCHAR_MIN __WCHAR_MIN__
|
||||
#elif L'\0' - 1 > 0
|
||||
# define __WCHAR_MIN (L'\0' + 0)
|
||||
#else
|
||||
# define __WCHAR_MIN (-__WCHAR_MAX - 1)
|
||||
#endif
|
||||
|
||||
#endif /* bits/wchar.h */
|
|
@ -1,593 +0,0 @@
|
|||
/* Checking macros for wchar functions.
|
||||
Copyright (C) 2005-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _WCHAR_H
|
||||
# error "Never include <bits/wchar2.h> directly; use <wchar.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
|
||||
const wchar_t *__restrict __s2, size_t __n,
|
||||
size_t __ns1) __THROW;
|
||||
extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias,
|
||||
(wchar_t *__restrict __s1,
|
||||
const wchar_t *__restrict __s2, size_t __n),
|
||||
wmemcpy);
|
||||
extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn,
|
||||
(wchar_t *__restrict __s1,
|
||||
const wchar_t *__restrict __s2, size_t __n,
|
||||
size_t __ns1), __wmemcpy_chk)
|
||||
__warnattr ("wmemcpy called with length bigger than size of destination "
|
||||
"buffer");
|
||||
|
||||
__fortify_function wchar_t *
|
||||
__NTH (wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2,
|
||||
size_t __n))
|
||||
{
|
||||
if (__bos0 (__s1) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n))
|
||||
return __wmemcpy_chk (__s1, __s2, __n,
|
||||
__bos0 (__s1) / sizeof (wchar_t));
|
||||
|
||||
if (__n > __bos0 (__s1) / sizeof (wchar_t))
|
||||
return __wmemcpy_chk_warn (__s1, __s2, __n,
|
||||
__bos0 (__s1) / sizeof (wchar_t));
|
||||
}
|
||||
return __wmemcpy_alias (__s1, __s2, __n);
|
||||
}
|
||||
|
||||
|
||||
extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
|
||||
size_t __n, size_t __ns1) __THROW;
|
||||
extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1,
|
||||
const wchar_t *__s2,
|
||||
size_t __n), wmemmove);
|
||||
extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
|
||||
(wchar_t *__s1, const wchar_t *__s2,
|
||||
size_t __n, size_t __ns1), __wmemmove_chk)
|
||||
__warnattr ("wmemmove called with length bigger than size of destination "
|
||||
"buffer");
|
||||
|
||||
__fortify_function wchar_t *
|
||||
__NTH (wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n))
|
||||
{
|
||||
if (__bos0 (__s1) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n))
|
||||
return __wmemmove_chk (__s1, __s2, __n,
|
||||
__bos0 (__s1) / sizeof (wchar_t));
|
||||
|
||||
if (__n > __bos0 (__s1) / sizeof (wchar_t))
|
||||
return __wmemmove_chk_warn (__s1, __s2, __n,
|
||||
__bos0 (__s1) / sizeof (wchar_t));
|
||||
}
|
||||
return __wmemmove_alias (__s1, __s2, __n);
|
||||
}
|
||||
|
||||
|
||||
#ifdef __USE_GNU
|
||||
extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
|
||||
const wchar_t *__restrict __s2, size_t __n,
|
||||
size_t __ns1) __THROW;
|
||||
extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias,
|
||||
(wchar_t *__restrict __s1,
|
||||
const wchar_t *__restrict __s2,
|
||||
size_t __n), wmempcpy);
|
||||
extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn,
|
||||
(wchar_t *__restrict __s1,
|
||||
const wchar_t *__restrict __s2, size_t __n,
|
||||
size_t __ns1), __wmempcpy_chk)
|
||||
__warnattr ("wmempcpy called with length bigger than size of destination "
|
||||
"buffer");
|
||||
|
||||
__fortify_function wchar_t *
|
||||
__NTH (wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2,
|
||||
size_t __n))
|
||||
{
|
||||
if (__bos0 (__s1) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n))
|
||||
return __wmempcpy_chk (__s1, __s2, __n,
|
||||
__bos0 (__s1) / sizeof (wchar_t));
|
||||
|
||||
if (__n > __bos0 (__s1) / sizeof (wchar_t))
|
||||
return __wmempcpy_chk_warn (__s1, __s2, __n,
|
||||
__bos0 (__s1) / sizeof (wchar_t));
|
||||
}
|
||||
return __wmempcpy_alias (__s1, __s2, __n);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
|
||||
size_t __ns) __THROW;
|
||||
extern wchar_t *__REDIRECT_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c,
|
||||
size_t __n), wmemset);
|
||||
extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn,
|
||||
(wchar_t *__s, wchar_t __c, size_t __n,
|
||||
size_t __ns), __wmemset_chk)
|
||||
__warnattr ("wmemset called with length bigger than size of destination "
|
||||
"buffer");
|
||||
|
||||
__fortify_function wchar_t *
|
||||
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
|
||||
{
|
||||
if (__bos0 (__s) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n))
|
||||
return __wmemset_chk (__s, __c, __n, __bos0 (__s) / sizeof (wchar_t));
|
||||
|
||||
if (__n > __bos0 (__s) / sizeof (wchar_t))
|
||||
return __wmemset_chk_warn (__s, __c, __n,
|
||||
__bos0 (__s) / sizeof (wchar_t));
|
||||
}
|
||||
return __wmemset_alias (__s, __c, __n);
|
||||
}
|
||||
|
||||
|
||||
extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __n) __THROW;
|
||||
extern wchar_t *__REDIRECT_NTH (__wcscpy_alias,
|
||||
(wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src), wcscpy);
|
||||
|
||||
__fortify_function wchar_t *
|
||||
__NTH (wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src))
|
||||
{
|
||||
if (__bos (__dest) != (size_t) -1)
|
||||
return __wcscpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
|
||||
return __wcscpy_alias (__dest, __src);
|
||||
}
|
||||
|
||||
|
||||
extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __destlen) __THROW;
|
||||
extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias,
|
||||
(wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src), wcpcpy);
|
||||
|
||||
__fortify_function wchar_t *
|
||||
__NTH (wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src))
|
||||
{
|
||||
if (__bos (__dest) != (size_t) -1)
|
||||
return __wcpcpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
|
||||
return __wcpcpy_alias (__dest, __src);
|
||||
}
|
||||
|
||||
|
||||
extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src, size_t __n,
|
||||
size_t __destlen) __THROW;
|
||||
extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias,
|
||||
(wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __n), wcsncpy);
|
||||
extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn,
|
||||
(wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __n, size_t __destlen), __wcsncpy_chk)
|
||||
__warnattr ("wcsncpy called with length bigger than size of destination "
|
||||
"buffer");
|
||||
|
||||
__fortify_function wchar_t *
|
||||
__NTH (wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src,
|
||||
size_t __n))
|
||||
{
|
||||
if (__bos (__dest) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n))
|
||||
return __wcsncpy_chk (__dest, __src, __n,
|
||||
__bos (__dest) / sizeof (wchar_t));
|
||||
if (__n > __bos (__dest) / sizeof (wchar_t))
|
||||
return __wcsncpy_chk_warn (__dest, __src, __n,
|
||||
__bos (__dest) / sizeof (wchar_t));
|
||||
}
|
||||
return __wcsncpy_alias (__dest, __src, __n);
|
||||
}
|
||||
|
||||
|
||||
extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src, size_t __n,
|
||||
size_t __destlen) __THROW;
|
||||
extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias,
|
||||
(wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __n), wcpncpy);
|
||||
extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn,
|
||||
(wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __n, size_t __destlen), __wcpncpy_chk)
|
||||
__warnattr ("wcpncpy called with length bigger than size of destination "
|
||||
"buffer");
|
||||
|
||||
__fortify_function wchar_t *
|
||||
__NTH (wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src,
|
||||
size_t __n))
|
||||
{
|
||||
if (__bos (__dest) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n))
|
||||
return __wcpncpy_chk (__dest, __src, __n,
|
||||
__bos (__dest) / sizeof (wchar_t));
|
||||
if (__n > __bos (__dest) / sizeof (wchar_t))
|
||||
return __wcpncpy_chk_warn (__dest, __src, __n,
|
||||
__bos (__dest) / sizeof (wchar_t));
|
||||
}
|
||||
return __wcpncpy_alias (__dest, __src, __n);
|
||||
}
|
||||
|
||||
|
||||
extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __destlen) __THROW;
|
||||
extern wchar_t *__REDIRECT_NTH (__wcscat_alias,
|
||||
(wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src), wcscat);
|
||||
|
||||
__fortify_function wchar_t *
|
||||
__NTH (wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src))
|
||||
{
|
||||
if (__bos (__dest) != (size_t) -1)
|
||||
return __wcscat_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
|
||||
return __wcscat_alias (__dest, __src);
|
||||
}
|
||||
|
||||
|
||||
extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __n, size_t __destlen) __THROW;
|
||||
extern wchar_t *__REDIRECT_NTH (__wcsncat_alias,
|
||||
(wchar_t *__restrict __dest,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __n), wcsncat);
|
||||
|
||||
__fortify_function wchar_t *
|
||||
__NTH (wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src,
|
||||
size_t __n))
|
||||
{
|
||||
if (__bos (__dest) != (size_t) -1)
|
||||
return __wcsncat_chk (__dest, __src, __n,
|
||||
__bos (__dest) / sizeof (wchar_t));
|
||||
return __wcsncat_alias (__dest, __src, __n);
|
||||
}
|
||||
|
||||
|
||||
extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
|
||||
int __flag, size_t __s_len,
|
||||
const wchar_t *__restrict __format, ...)
|
||||
__THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */;
|
||||
|
||||
extern int __REDIRECT_NTH_LDBL (__swprintf_alias,
|
||||
(wchar_t *__restrict __s, size_t __n,
|
||||
const wchar_t *__restrict __fmt, ...),
|
||||
swprintf);
|
||||
|
||||
#ifdef __va_arg_pack
|
||||
__fortify_function int
|
||||
__NTH (swprintf (wchar_t *__restrict __s, size_t __n,
|
||||
const wchar_t *__restrict __fmt, ...))
|
||||
{
|
||||
if (__bos (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
|
||||
return __swprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
|
||||
__bos (__s) / sizeof (wchar_t),
|
||||
__fmt, __va_arg_pack ());
|
||||
return __swprintf_alias (__s, __n, __fmt, __va_arg_pack ());
|
||||
}
|
||||
#elif !defined __cplusplus
|
||||
/* XXX We might want to have support in gcc for swprintf. */
|
||||
# define swprintf(s, n, ...) \
|
||||
(__bos (s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1 \
|
||||
? __swprintf_chk (s, n, __USE_FORTIFY_LEVEL - 1, \
|
||||
__bos (s) / sizeof (wchar_t), __VA_ARGS__) \
|
||||
: swprintf (s, n, __VA_ARGS__))
|
||||
#endif
|
||||
|
||||
extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
|
||||
int __flag, size_t __s_len,
|
||||
const wchar_t *__restrict __format,
|
||||
__gnuc_va_list __arg)
|
||||
__THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */;
|
||||
|
||||
extern int __REDIRECT_NTH_LDBL (__vswprintf_alias,
|
||||
(wchar_t *__restrict __s, size_t __n,
|
||||
const wchar_t *__restrict __fmt,
|
||||
__gnuc_va_list __ap), vswprintf);
|
||||
|
||||
__fortify_function int
|
||||
__NTH (vswprintf (wchar_t *__restrict __s, size_t __n,
|
||||
const wchar_t *__restrict __fmt, __gnuc_va_list __ap))
|
||||
{
|
||||
if (__bos (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
|
||||
return __vswprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
|
||||
__bos (__s) / sizeof (wchar_t), __fmt, __ap);
|
||||
return __vswprintf_alias (__s, __n, __fmt, __ap);
|
||||
}
|
||||
|
||||
|
||||
#if __USE_FORTIFY_LEVEL > 1
|
||||
|
||||
extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
|
||||
const wchar_t *__restrict __format, ...);
|
||||
extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format,
|
||||
...);
|
||||
extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
|
||||
const wchar_t *__restrict __format,
|
||||
__gnuc_va_list __ap);
|
||||
extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
|
||||
__gnuc_va_list __ap);
|
||||
|
||||
# ifdef __va_arg_pack
|
||||
__fortify_function int
|
||||
wprintf (const wchar_t *__restrict __fmt, ...)
|
||||
{
|
||||
return __wprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());
|
||||
}
|
||||
|
||||
__fortify_function int
|
||||
fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...)
|
||||
{
|
||||
return __fwprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt,
|
||||
__va_arg_pack ());
|
||||
}
|
||||
# elif !defined __cplusplus
|
||||
# define wprintf(...) \
|
||||
__wprintf_chk (__USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
|
||||
# define fwprintf(stream, ...) \
|
||||
__fwprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
|
||||
# endif
|
||||
|
||||
__fortify_function int
|
||||
vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
|
||||
{
|
||||
return __vwprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __ap);
|
||||
}
|
||||
|
||||
__fortify_function int
|
||||
vfwprintf (__FILE *__restrict __stream,
|
||||
const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
|
||||
{
|
||||
return __vfwprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n,
|
||||
__FILE *__restrict __stream) __wur;
|
||||
extern wchar_t *__REDIRECT (__fgetws_alias,
|
||||
(wchar_t *__restrict __s, int __n,
|
||||
__FILE *__restrict __stream), fgetws) __wur;
|
||||
extern wchar_t *__REDIRECT (__fgetws_chk_warn,
|
||||
(wchar_t *__restrict __s, size_t __size, int __n,
|
||||
__FILE *__restrict __stream), __fgetws_chk)
|
||||
__wur __warnattr ("fgetws called with bigger size than length "
|
||||
"of destination buffer");
|
||||
|
||||
__fortify_function __wur wchar_t *
|
||||
fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
|
||||
{
|
||||
if (__bos (__s) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n) || __n <= 0)
|
||||
return __fgetws_chk (__s, __bos (__s) / sizeof (wchar_t),
|
||||
__n, __stream);
|
||||
|
||||
if ((size_t) __n > __bos (__s) / sizeof (wchar_t))
|
||||
return __fgetws_chk_warn (__s, __bos (__s) / sizeof (wchar_t),
|
||||
__n, __stream);
|
||||
}
|
||||
return __fgetws_alias (__s, __n, __stream);
|
||||
}
|
||||
|
||||
#ifdef __USE_GNU
|
||||
extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size,
|
||||
int __n, __FILE *__restrict __stream)
|
||||
__wur;
|
||||
extern wchar_t *__REDIRECT (__fgetws_unlocked_alias,
|
||||
(wchar_t *__restrict __s, int __n,
|
||||
__FILE *__restrict __stream), fgetws_unlocked)
|
||||
__wur;
|
||||
extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn,
|
||||
(wchar_t *__restrict __s, size_t __size, int __n,
|
||||
__FILE *__restrict __stream),
|
||||
__fgetws_unlocked_chk)
|
||||
__wur __warnattr ("fgetws_unlocked called with bigger size than length "
|
||||
"of destination buffer");
|
||||
|
||||
__fortify_function __wur wchar_t *
|
||||
fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
|
||||
{
|
||||
if (__bos (__s) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n) || __n <= 0)
|
||||
return __fgetws_unlocked_chk (__s, __bos (__s) / sizeof (wchar_t),
|
||||
__n, __stream);
|
||||
|
||||
if ((size_t) __n > __bos (__s) / sizeof (wchar_t))
|
||||
return __fgetws_unlocked_chk_warn (__s, __bos (__s) / sizeof (wchar_t),
|
||||
__n, __stream);
|
||||
}
|
||||
return __fgetws_unlocked_alias (__s, __n, __stream);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
|
||||
mbstate_t *__restrict __p,
|
||||
size_t __buflen) __THROW __wur;
|
||||
extern size_t __REDIRECT_NTH (__wcrtomb_alias,
|
||||
(char *__restrict __s, wchar_t __wchar,
|
||||
mbstate_t *__restrict __ps), wcrtomb) __wur;
|
||||
|
||||
__fortify_function __wur size_t
|
||||
__NTH (wcrtomb (char *__restrict __s, wchar_t __wchar,
|
||||
mbstate_t *__restrict __ps))
|
||||
{
|
||||
/* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
|
||||
But this would only disturb the namespace. So we define our own
|
||||
version here. */
|
||||
#define __WCHAR_MB_LEN_MAX 16
|
||||
#if defined MB_LEN_MAX && MB_LEN_MAX != __WCHAR_MB_LEN_MAX
|
||||
# error "Assumed value of MB_LEN_MAX wrong"
|
||||
#endif
|
||||
if (__bos (__s) != (size_t) -1 && __WCHAR_MB_LEN_MAX > __bos (__s))
|
||||
return __wcrtomb_chk (__s, __wchar, __ps, __bos (__s));
|
||||
return __wcrtomb_alias (__s, __wchar, __ps);
|
||||
}
|
||||
|
||||
|
||||
extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst,
|
||||
const char **__restrict __src,
|
||||
size_t __len, mbstate_t *__restrict __ps,
|
||||
size_t __dstlen) __THROW;
|
||||
extern size_t __REDIRECT_NTH (__mbsrtowcs_alias,
|
||||
(wchar_t *__restrict __dst,
|
||||
const char **__restrict __src,
|
||||
size_t __len, mbstate_t *__restrict __ps),
|
||||
mbsrtowcs);
|
||||
extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn,
|
||||
(wchar_t *__restrict __dst,
|
||||
const char **__restrict __src,
|
||||
size_t __len, mbstate_t *__restrict __ps,
|
||||
size_t __dstlen), __mbsrtowcs_chk)
|
||||
__warnattr ("mbsrtowcs called with dst buffer smaller than len "
|
||||
"* sizeof (wchar_t)");
|
||||
|
||||
__fortify_function size_t
|
||||
__NTH (mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src,
|
||||
size_t __len, mbstate_t *__restrict __ps))
|
||||
{
|
||||
if (__bos (__dst) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__len))
|
||||
return __mbsrtowcs_chk (__dst, __src, __len, __ps,
|
||||
__bos (__dst) / sizeof (wchar_t));
|
||||
|
||||
if (__len > __bos (__dst) / sizeof (wchar_t))
|
||||
return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps,
|
||||
__bos (__dst) / sizeof (wchar_t));
|
||||
}
|
||||
return __mbsrtowcs_alias (__dst, __src, __len, __ps);
|
||||
}
|
||||
|
||||
|
||||
extern size_t __wcsrtombs_chk (char *__restrict __dst,
|
||||
const wchar_t **__restrict __src,
|
||||
size_t __len, mbstate_t *__restrict __ps,
|
||||
size_t __dstlen) __THROW;
|
||||
extern size_t __REDIRECT_NTH (__wcsrtombs_alias,
|
||||
(char *__restrict __dst,
|
||||
const wchar_t **__restrict __src,
|
||||
size_t __len, mbstate_t *__restrict __ps),
|
||||
wcsrtombs);
|
||||
extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn,
|
||||
(char *__restrict __dst,
|
||||
const wchar_t **__restrict __src,
|
||||
size_t __len, mbstate_t *__restrict __ps,
|
||||
size_t __dstlen), __wcsrtombs_chk)
|
||||
__warnattr ("wcsrtombs called with dst buffer smaller than len");
|
||||
|
||||
__fortify_function size_t
|
||||
__NTH (wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src,
|
||||
size_t __len, mbstate_t *__restrict __ps))
|
||||
{
|
||||
if (__bos (__dst) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__len))
|
||||
return __wcsrtombs_chk (__dst, __src, __len, __ps, __bos (__dst));
|
||||
|
||||
if (__len > __bos (__dst))
|
||||
return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __bos (__dst));
|
||||
}
|
||||
return __wcsrtombs_alias (__dst, __src, __len, __ps);
|
||||
}
|
||||
|
||||
|
||||
#ifdef __USE_GNU
|
||||
extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
|
||||
const char **__restrict __src, size_t __nmc,
|
||||
size_t __len, mbstate_t *__restrict __ps,
|
||||
size_t __dstlen) __THROW;
|
||||
extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias,
|
||||
(wchar_t *__restrict __dst,
|
||||
const char **__restrict __src, size_t __nmc,
|
||||
size_t __len, mbstate_t *__restrict __ps),
|
||||
mbsnrtowcs);
|
||||
extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn,
|
||||
(wchar_t *__restrict __dst,
|
||||
const char **__restrict __src, size_t __nmc,
|
||||
size_t __len, mbstate_t *__restrict __ps,
|
||||
size_t __dstlen), __mbsnrtowcs_chk)
|
||||
__warnattr ("mbsnrtowcs called with dst buffer smaller than len "
|
||||
"* sizeof (wchar_t)");
|
||||
|
||||
__fortify_function size_t
|
||||
__NTH (mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src,
|
||||
size_t __nmc, size_t __len, mbstate_t *__restrict __ps))
|
||||
{
|
||||
if (__bos (__dst) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__len))
|
||||
return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps,
|
||||
__bos (__dst) / sizeof (wchar_t));
|
||||
|
||||
if (__len > __bos (__dst) / sizeof (wchar_t))
|
||||
return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps,
|
||||
__bos (__dst) / sizeof (wchar_t));
|
||||
}
|
||||
return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps);
|
||||
}
|
||||
|
||||
|
||||
extern size_t __wcsnrtombs_chk (char *__restrict __dst,
|
||||
const wchar_t **__restrict __src,
|
||||
size_t __nwc, size_t __len,
|
||||
mbstate_t *__restrict __ps, size_t __dstlen)
|
||||
__THROW;
|
||||
extern size_t __REDIRECT_NTH (__wcsnrtombs_alias,
|
||||
(char *__restrict __dst,
|
||||
const wchar_t **__restrict __src,
|
||||
size_t __nwc, size_t __len,
|
||||
mbstate_t *__restrict __ps), wcsnrtombs);
|
||||
extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn,
|
||||
(char *__restrict __dst,
|
||||
const wchar_t **__restrict __src,
|
||||
size_t __nwc, size_t __len,
|
||||
mbstate_t *__restrict __ps,
|
||||
size_t __dstlen), __wcsnrtombs_chk)
|
||||
__warnattr ("wcsnrtombs called with dst buffer smaller than len");
|
||||
|
||||
__fortify_function size_t
|
||||
__NTH (wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src,
|
||||
size_t __nwc, size_t __len, mbstate_t *__restrict __ps))
|
||||
{
|
||||
if (__bos (__dst) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__len))
|
||||
return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps,
|
||||
__bos (__dst));
|
||||
|
||||
if (__len > __bos (__dst))
|
||||
return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps,
|
||||
__bos (__dst));
|
||||
}
|
||||
return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps);
|
||||
}
|
||||
#endif
|
|
@ -1,13 +0,0 @@
|
|||
/* Determine the wordsize from the preprocessor defines. */
|
||||
|
||||
#if defined __x86_64__ && !defined __ILP32__
|
||||
# define __WORDSIZE 64
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
#endif
|
||||
|
||||
#ifdef __x86_64__
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
/* Both x86-64 and x32 use the 64-bit system call interface. */
|
||||
# define __SYSCALL_WORDSIZE 64
|
||||
#endif
|
|
@ -1,143 +0,0 @@
|
|||
/* Copyright (C) 1996-2014 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/*
|
||||
* Never include this file directly; use <limits.h> instead.
|
||||
*/
|
||||
|
||||
/* Additional definitions from X/Open Portability Guide, Issue 4, Version 2
|
||||
System Interfaces and Headers, 4.16 <limits.h>
|
||||
|
||||
Please note only the values which are not greater than the minimum
|
||||
stated in the standard document are listed. The `sysconf' functions
|
||||
should be used to obtain the actual value. */
|
||||
|
||||
#ifndef _XOPEN_LIM_H
|
||||
#define _XOPEN_LIM_H 1
|
||||
|
||||
#define __need_IOV_MAX
|
||||
#include <bits/stdio_lim.h>
|
||||
|
||||
/* We do not provide fixed values for
|
||||
|
||||
ARG_MAX Maximum length of argument to the `exec' function
|
||||
including environment data.
|
||||
|
||||
ATEXIT_MAX Maximum number of functions that may be registered
|
||||
with `atexit'.
|
||||
|
||||
CHILD_MAX Maximum number of simultaneous processes per real
|
||||
user ID.
|
||||
|
||||
OPEN_MAX Maximum number of files that one process can have open
|
||||
at anyone time.
|
||||
|
||||
PAGESIZE
|
||||
PAGE_SIZE Size of bytes of a page.
|
||||
|
||||
PASS_MAX Maximum number of significant bytes in a password.
|
||||
|
||||
We only provide a fixed limit for
|
||||
|
||||
IOV_MAX Maximum number of `iovec' structures that one process has
|
||||
available for use with `readv' or writev'.
|
||||
|
||||
if this is indeed fixed by the underlying system.
|
||||
*/
|
||||
|
||||
|
||||
/* Maximum number of `iovec' structures that one process has available
|
||||
for use with `readv' or writev'. */
|
||||
#define _XOPEN_IOV_MAX _POSIX_UIO_MAXIOV
|
||||
|
||||
|
||||
/* Maximum value of `digit' in calls to the `printf' and `scanf'
|
||||
functions. We have no limit, so return a reasonable value. */
|
||||
#define NL_ARGMAX _POSIX_ARG_MAX
|
||||
|
||||
/* Maximum number of bytes in a `LANG' name. We have no limit. */
|
||||
#define NL_LANGMAX _POSIX2_LINE_MAX
|
||||
|
||||
/* Maximum message number. We have no limit. */
|
||||
#define NL_MSGMAX INT_MAX
|
||||
|
||||
/* Maximum number of bytes in N-to-1 collation mapping. We have no
|
||||
limit. */
|
||||
#define NL_NMAX INT_MAX
|
||||
|
||||
/* Maximum set number. We have no limit. */
|
||||
#define NL_SETMAX INT_MAX
|
||||
|
||||
/* Maximum number of bytes in a message. We have no limit. */
|
||||
#define NL_TEXTMAX INT_MAX
|
||||
|
||||
/* Default process priority. */
|
||||
#define NZERO 20
|
||||
|
||||
|
||||
/* Number of bits in a word of type `int'. */
|
||||
#ifdef INT_MAX
|
||||
# if INT_MAX == 32767
|
||||
# define WORD_BIT 16
|
||||
# else
|
||||
# if INT_MAX == 2147483647
|
||||
# define WORD_BIT 32
|
||||
# else
|
||||
/* Safe assumption. */
|
||||
# define WORD_BIT 64
|
||||
# endif
|
||||
# endif
|
||||
#elif defined __INT_MAX__
|
||||
# if __INT_MAX__ == 32767
|
||||
# define WORD_BIT 16
|
||||
# else
|
||||
# if __INT_MAX__ == 2147483647
|
||||
# define WORD_BIT 32
|
||||
# else
|
||||
/* Safe assumption. */
|
||||
# define WORD_BIT 64
|
||||
# endif
|
||||
# endif
|
||||
#else
|
||||
# define WORD_BIT 32
|
||||
#endif
|
||||
|
||||
/* Number of bits in a word of type `long int'. */
|
||||
#ifdef LONG_MAX
|
||||
# if LONG_MAX == 2147483647
|
||||
# define LONG_BIT 32
|
||||
# else
|
||||
/* Safe assumption. */
|
||||
# define LONG_BIT 64
|
||||
# endif
|
||||
#elif defined __LONG_MAX__
|
||||
# if __LONG_MAX__ == 2147483647
|
||||
# define LONG_BIT 32
|
||||
# else
|
||||
/* Safe assumption. */
|
||||
# define LONG_BIT 64
|
||||
# endif
|
||||
#else
|
||||
# include <bits/wordsize.h>
|
||||
# if __WORDSIZE == 64
|
||||
# define LONG_BIT 64
|
||||
# else
|
||||
# define LONG_BIT 32
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* bits/xopen_lim.h */
|
|
@ -1,67 +0,0 @@
|
|||
// Boost config.hpp configuration header file ------------------------------//
|
||||
|
||||
// (C) Copyright John Maddock 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for most recent version.
|
||||
|
||||
// Boost config.hpp policy and rationale documentation has been moved to
|
||||
// http://www.boost.org/libs/config
|
||||
//
|
||||
// CAUTION: This file is intended to be completely stable -
|
||||
// DO NOT MODIFY THIS FILE!
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_HPP
|
||||
#define BOOST_CONFIG_HPP
|
||||
|
||||
// if we don't have a user config, then use the default location:
|
||||
#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)
|
||||
# define BOOST_USER_CONFIG <boost/config/user.hpp>
|
||||
#if 0
|
||||
// For dependency trackers:
|
||||
# include <boost/config/user.hpp>
|
||||
#endif
|
||||
#endif
|
||||
// include it first:
|
||||
#ifdef BOOST_USER_CONFIG
|
||||
# include BOOST_USER_CONFIG
|
||||
#endif
|
||||
|
||||
// if we don't have a compiler config set, try and find one:
|
||||
#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG)
|
||||
# include <boost/config/select_compiler_config.hpp>
|
||||
#endif
|
||||
// if we have a compiler config, include it now:
|
||||
#ifdef BOOST_COMPILER_CONFIG
|
||||
# include BOOST_COMPILER_CONFIG
|
||||
#endif
|
||||
|
||||
// if we don't have a std library config set, try and find one:
|
||||
#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus)
|
||||
# include <boost/config/select_stdlib_config.hpp>
|
||||
#endif
|
||||
// if we have a std library config, include it now:
|
||||
#ifdef BOOST_STDLIB_CONFIG
|
||||
# include BOOST_STDLIB_CONFIG
|
||||
#endif
|
||||
|
||||
// if we don't have a platform config set, try and find one:
|
||||
#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG)
|
||||
# include <boost/config/select_platform_config.hpp>
|
||||
#endif
|
||||
// if we have a platform config, include it now:
|
||||
#ifdef BOOST_PLATFORM_CONFIG
|
||||
# include BOOST_PLATFORM_CONFIG
|
||||
#endif
|
||||
|
||||
// get config suffix code:
|
||||
#include <boost/config/suffix.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#endif // BOOST_CONFIG_HPP
|
|
@ -1,27 +0,0 @@
|
|||
// (C) Copyright John Maddock 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// for C++ Builder the following options effect the ABI:
|
||||
//
|
||||
// -b (on or off - effect emum sizes)
|
||||
// -Vx (on or off - empty members)
|
||||
// -Ve (on or off - empty base classes)
|
||||
// -aX (alignment - 5 options).
|
||||
// -pX (Calling convention - 4 options)
|
||||
// -VmX (member pointer size and layout - 5 options)
|
||||
// -VC (on or off, changes name mangling)
|
||||
// -Vl (on or off, changes struct layout).
|
||||
|
||||
// In addition the following warnings are sufficiently annoying (and
|
||||
// unfixable) to have them turned off by default:
|
||||
//
|
||||
// 8027 - functions containing [for|while] loops are not expanded inline
|
||||
// 8026 - functions taking class by value arguments are not expanded inline
|
||||
|
||||
#pragma nopushoptwarn
|
||||
# pragma option push -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026
|
||||
|
||||
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
// (C) Copyright John Maddock 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
# pragma option pop
|
||||
#pragma nopushoptwarn
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
// (C) Copyright John Maddock 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
//
|
||||
// Boost binaries are built with the compiler's default ABI settings,
|
||||
// if the user changes their default alignment in the VS IDE then their
|
||||
// code will no longer be binary compatible with the bjam built binaries
|
||||
// unless this header is included to force Boost code into a consistent ABI.
|
||||
//
|
||||
// Note that inclusion of this header is only necessary for libraries with
|
||||
// separate source, header only libraries DO NOT need this as long as all
|
||||
// translation units are built with the same options.
|
||||
//
|
||||
#if defined(_M_X64)
|
||||
# pragma pack(push,16)
|
||||
#else
|
||||
# pragma pack(push,8)
|
||||
#endif
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
// (C) Copyright John Maddock 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
// abi_prefix header -------------------------------------------------------//
|
||||
|
||||
// (c) Copyright John Maddock 2003
|
||||
|
||||
// Use, modification and distribution are subject to the Boost Software License,
|
||||
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt).
|
||||
|
||||
#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
|
||||
# define BOOST_CONFIG_ABI_PREFIX_HPP
|
||||
#else
|
||||
# error double inclusion of header boost/config/abi_prefix.hpp is an error
|
||||
#endif
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
// this must occur after all other includes and before any code appears:
|
||||
#ifdef BOOST_HAS_ABI_HEADERS
|
||||
# include BOOST_ABI_PREFIX
|
||||
#endif
|
||||
|
||||
#if defined( __BORLANDC__ )
|
||||
#pragma nopushoptwarn
|
||||
#endif
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
// abi_sufffix header -------------------------------------------------------//
|
||||
|
||||
// (c) Copyright John Maddock 2003
|
||||
|
||||
// Use, modification and distribution are subject to the Boost Software License,
|
||||
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt).
|
||||
|
||||
// This header should be #included AFTER code that was preceded by a #include
|
||||
// <boost/config/abi_prefix.hpp>.
|
||||
|
||||
#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
|
||||
# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp
|
||||
#else
|
||||
# undef BOOST_CONFIG_ABI_PREFIX_HPP
|
||||
#endif
|
||||
|
||||
// the suffix header occurs after all of our code:
|
||||
#ifdef BOOST_HAS_ABI_HEADERS
|
||||
# include BOOST_ABI_SUFFIX
|
||||
#endif
|
||||
|
||||
#if defined( __BORLANDC__ )
|
||||
#pragma nopushoptwarn
|
||||
#endif
|
||||
|
||||
|
|
@ -1,429 +0,0 @@
|
|||
// (C) Copyright John Maddock 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE auto_link.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.
|
||||
*/
|
||||
|
||||
/*************************************************************************
|
||||
|
||||
USAGE:
|
||||
~~~~~~
|
||||
|
||||
Before including this header you must define one or more of define the following macros:
|
||||
|
||||
BOOST_LIB_NAME: Required: A string containing the basename of the library,
|
||||
for example boost_regex.
|
||||
BOOST_LIB_TOOLSET: Optional: the base name of the toolset.
|
||||
BOOST_DYN_LINK: Optional: when set link to dll rather than static library.
|
||||
BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name
|
||||
of the library selected (useful for debugging).
|
||||
BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
|
||||
rather than a mangled-name version.
|
||||
BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option.
|
||||
This is essentially the same as the default name-mangled version, but without
|
||||
the compiler name and version, or the Boost version. Just the build options.
|
||||
|
||||
These macros will be undef'ed at the end of the header, further this header
|
||||
has no include guards - so be sure to include it only once from your library!
|
||||
|
||||
Algorithm:
|
||||
~~~~~~~~~~
|
||||
|
||||
Libraries for Borland and Microsoft compilers are automatically
|
||||
selected here, the name of the lib is selected according to the following
|
||||
formula:
|
||||
|
||||
BOOST_LIB_PREFIX
|
||||
+ BOOST_LIB_NAME
|
||||
+ "_"
|
||||
+ BOOST_LIB_TOOLSET
|
||||
+ BOOST_LIB_THREAD_OPT
|
||||
+ BOOST_LIB_RT_OPT
|
||||
"-"
|
||||
+ BOOST_LIB_VERSION
|
||||
|
||||
These are defined as:
|
||||
|
||||
BOOST_LIB_PREFIX: "lib" for static libraries otherwise "".
|
||||
|
||||
BOOST_LIB_NAME: The base name of the lib ( for example boost_regex).
|
||||
|
||||
BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).
|
||||
|
||||
BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
|
||||
|
||||
BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used,
|
||||
contains one or more of the following letters after
|
||||
a hyphen:
|
||||
|
||||
s static runtime (dynamic if not present).
|
||||
g debug/diagnostic runtime (release if not present).
|
||||
y Python debug/diagnostic runtime (release if not present).
|
||||
d debug build (release if not present).
|
||||
p STLport build.
|
||||
n STLport build without its IOStreams.
|
||||
|
||||
BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
# ifndef BOOST_CONFIG_HPP
|
||||
# include <boost/config.hpp>
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
|
||||
//
|
||||
// C language compatability (no, honestly)
|
||||
//
|
||||
# define BOOST_MSVC _MSC_VER
|
||||
# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
|
||||
# define BOOST_DO_STRINGIZE(X) #X
|
||||
#endif
|
||||
//
|
||||
// Only include what follows for known and supported compilers:
|
||||
//
|
||||
#if defined(BOOST_MSVC) \
|
||||
|| defined(__BORLANDC__) \
|
||||
|| (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
|
||||
|| (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200))
|
||||
|
||||
#ifndef BOOST_VERSION_HPP
|
||||
# include <boost/version.hpp>
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_LIB_NAME
|
||||
# error "Macro BOOST_LIB_NAME not set (internal error)"
|
||||
#endif
|
||||
|
||||
//
|
||||
// error check:
|
||||
//
|
||||
#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
|
||||
# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
|
||||
# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
|
||||
# error "Incompatible build options"
|
||||
#endif
|
||||
//
|
||||
// select toolset if not defined already:
|
||||
//
|
||||
#ifndef BOOST_LIB_TOOLSET
|
||||
# if defined(BOOST_MSVC) && (BOOST_MSVC < 1200)
|
||||
// Note: no compilers before 1200 are supported
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
|
||||
|
||||
# ifdef UNDER_CE
|
||||
// eVC4:
|
||||
# define BOOST_LIB_TOOLSET "evc4"
|
||||
# else
|
||||
// vc6:
|
||||
# define BOOST_LIB_TOOLSET "vc6"
|
||||
# endif
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310)
|
||||
|
||||
// vc7:
|
||||
# define BOOST_LIB_TOOLSET "vc7"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400)
|
||||
|
||||
// vc71:
|
||||
# define BOOST_LIB_TOOLSET "vc71"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500)
|
||||
|
||||
// vc80:
|
||||
# define BOOST_LIB_TOOLSET "vc80"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600)
|
||||
|
||||
// vc90:
|
||||
# define BOOST_LIB_TOOLSET "vc90"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700)
|
||||
|
||||
// vc10:
|
||||
# define BOOST_LIB_TOOLSET "vc100"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)
|
||||
|
||||
// vc11:
|
||||
# define BOOST_LIB_TOOLSET "vc110"
|
||||
|
||||
# elif defined(BOOST_MSVC)
|
||||
|
||||
// vc12:
|
||||
# define BOOST_LIB_TOOLSET "vc120"
|
||||
|
||||
# elif defined(__BORLANDC__)
|
||||
|
||||
// CBuilder 6:
|
||||
# define BOOST_LIB_TOOLSET "bcb"
|
||||
|
||||
# elif defined(__ICL)
|
||||
|
||||
// Intel C++, no version number:
|
||||
# define BOOST_LIB_TOOLSET "iw"
|
||||
|
||||
# elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
|
||||
|
||||
// Metrowerks CodeWarrior 8.x
|
||||
# define BOOST_LIB_TOOLSET "cw8"
|
||||
|
||||
# elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
|
||||
|
||||
// Metrowerks CodeWarrior 9.x
|
||||
# define BOOST_LIB_TOOLSET "cw9"
|
||||
|
||||
# endif
|
||||
#endif // BOOST_LIB_TOOLSET
|
||||
|
||||
//
|
||||
// select thread opt:
|
||||
//
|
||||
#if defined(_MT) || defined(__MT__)
|
||||
# define BOOST_LIB_THREAD_OPT "-mt"
|
||||
#else
|
||||
# define BOOST_LIB_THREAD_OPT
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) || defined(__MWERKS__)
|
||||
|
||||
# ifdef _DLL
|
||||
|
||||
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
|
||||
|
||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-gydp"
|
||||
# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||
# define BOOST_LIB_RT_OPT "-gdp"
|
||||
# elif defined(_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-gydp"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-gdp"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-p"
|
||||
# endif
|
||||
|
||||
# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
||||
|
||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-gydpn"
|
||||
# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||
# define BOOST_LIB_RT_OPT "-gdpn"
|
||||
# elif defined(_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-gydpn"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-gdpn"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-pn"
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-gyd"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-gd"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
|
||||
|
||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sgydp"
|
||||
# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||
# define BOOST_LIB_RT_OPT "-sgdp"
|
||||
# elif defined(_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sgydp"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-sgdp"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-sp"
|
||||
# endif
|
||||
|
||||
# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
||||
|
||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sgydpn"
|
||||
# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||
# define BOOST_LIB_RT_OPT "-sgdpn"
|
||||
# elif defined(_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sgydpn"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-sgdpn"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-spn"
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# if defined(_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sgyd"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-sgd"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-s"
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
|
||||
//
|
||||
// figure out whether we want the debug builds or not:
|
||||
//
|
||||
#if __BORLANDC__ > 0x561
|
||||
#pragma defineonoption BOOST_BORLAND_DEBUG -v
|
||||
#endif
|
||||
//
|
||||
// sanity check:
|
||||
//
|
||||
#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
|
||||
#error "Pre-built versions of the Boost libraries are not provided in STLport-debug form"
|
||||
#endif
|
||||
|
||||
# ifdef _RTLDLL
|
||||
|
||||
# if defined(BOOST_BORLAND_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-yd"
|
||||
# elif defined(BOOST_BORLAND_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-d"
|
||||
# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT -y
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# if defined(BOOST_BORLAND_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-syd"
|
||||
# elif defined(BOOST_BORLAND_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-sd"
|
||||
# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sy"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-s"
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// select linkage opt:
|
||||
//
|
||||
#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)
|
||||
# define BOOST_LIB_PREFIX
|
||||
#elif defined(BOOST_DYN_LINK)
|
||||
# error "Mixing a dll boost library with a static runtime is a really bad idea..."
|
||||
#else
|
||||
# define BOOST_LIB_PREFIX "lib"
|
||||
#endif
|
||||
|
||||
//
|
||||
// now include the lib:
|
||||
//
|
||||
#if defined(BOOST_LIB_NAME) \
|
||||
&& defined(BOOST_LIB_PREFIX) \
|
||||
&& defined(BOOST_LIB_TOOLSET) \
|
||||
&& defined(BOOST_LIB_THREAD_OPT) \
|
||||
&& defined(BOOST_LIB_RT_OPT) \
|
||||
&& defined(BOOST_LIB_VERSION)
|
||||
|
||||
#ifdef BOOST_AUTO_LINK_TAGGED
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
|
||||
# endif
|
||||
#elif defined(BOOST_AUTO_LINK_NOMANGLE)
|
||||
# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
|
||||
# endif
|
||||
#else
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#else
|
||||
# error "some required macros where not defined (internal logic error)."
|
||||
#endif
|
||||
|
||||
|
||||
#endif // _MSC_VER || __BORLANDC__
|
||||
|
||||
//
|
||||
// finally undef any macros we may have set:
|
||||
//
|
||||
#ifdef BOOST_LIB_PREFIX
|
||||
# undef BOOST_LIB_PREFIX
|
||||
#endif
|
||||
#if defined(BOOST_LIB_NAME)
|
||||
# undef BOOST_LIB_NAME
|
||||
#endif
|
||||
// Don't undef this one: it can be set by the user and should be the
|
||||
// same for all libraries:
|
||||
//#if defined(BOOST_LIB_TOOLSET)
|
||||
//# undef BOOST_LIB_TOOLSET
|
||||
//#endif
|
||||
#if defined(BOOST_LIB_THREAD_OPT)
|
||||
# undef BOOST_LIB_THREAD_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_RT_OPT)
|
||||
# undef BOOST_LIB_RT_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_LINK_OPT)
|
||||
# undef BOOST_LIB_LINK_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_DEBUG_OPT)
|
||||
# undef BOOST_LIB_DEBUG_OPT
|
||||
#endif
|
||||
#if defined(BOOST_DYN_LINK)
|
||||
# undef BOOST_DYN_LINK
|
||||
#endif
|
||||
|
||||
|
|
@ -1,288 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Borland C++ compiler setup:
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Borland prior to version 5.4:
|
||||
#if __BORLANDC__ < 0x540
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
|
||||
// last known compiler version:
|
||||
#if (__BORLANDC__ > 0x613)
|
||||
//# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
//# else
|
||||
//# pragma message( "Unknown compiler version - please run the configure tests and report the results")
|
||||
//# endif
|
||||
#elif (__BORLANDC__ == 0x600)
|
||||
# error "CBuilderX preview compiler is no longer supported"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Support macros to help with standard library detection
|
||||
#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL)
|
||||
# define BOOST_BCB_WITH_ROGUE_WAVE
|
||||
#elif __BORLANDC__ < 0x570
|
||||
# define BOOST_BCB_WITH_STLPORT
|
||||
#else
|
||||
# define BOOST_BCB_WITH_DINKUMWARE
|
||||
#endif
|
||||
|
||||
//
|
||||
// Version 5.0 and below:
|
||||
# if __BORLANDC__ <= 0x0550
|
||||
// Borland C++Builder 4 and 5:
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# if __BORLANDC__ == 0x0550
|
||||
// Borland C++Builder 5, command-line compiler 5.5:
|
||||
# define BOOST_NO_OPERATORS_IN_NAMESPACE
|
||||
# endif
|
||||
// Variadic macros do not exist for C++ Builder versions 5 and below
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
# endif
|
||||
|
||||
// Version 5.51 and below:
|
||||
#if (__BORLANDC__ <= 0x551)
|
||||
# define BOOST_NO_CV_SPECIALIZATIONS
|
||||
# define BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
# define BOOST_NO_DEDUCED_TYPENAME
|
||||
// workaround for missing WCHAR_MAX/WCHAR_MIN:
|
||||
#ifdef __cplusplus
|
||||
#include <climits>
|
||||
#include <cwchar>
|
||||
#else
|
||||
#include <limits.h>
|
||||
#include <wchar.h>
|
||||
#endif // __cplusplus
|
||||
#ifndef WCHAR_MAX
|
||||
# define WCHAR_MAX 0xffff
|
||||
#endif
|
||||
#ifndef WCHAR_MIN
|
||||
# define WCHAR_MIN 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Borland C++ Builder 6 and below:
|
||||
#if (__BORLANDC__ <= 0x564)
|
||||
|
||||
# if defined(NDEBUG) && defined(__cplusplus)
|
||||
// fix broken <cstring> so that Boost.test works:
|
||||
# include <cstring>
|
||||
# undef strcmp
|
||||
# endif
|
||||
// fix broken errno declaration:
|
||||
# include <errno.h>
|
||||
# ifndef errno
|
||||
# define errno errno
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// new bug in 5.61:
|
||||
#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580)
|
||||
// this seems to be needed by the command line compiler, but not the IDE:
|
||||
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
#endif
|
||||
|
||||
// Borland C++ Builder 2006 Update 2 and below:
|
||||
#if (__BORLANDC__ <= 0x582)
|
||||
# define BOOST_NO_SFINAE
|
||||
# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||
|
||||
# define BOOST_NO_PRIVATE_IN_AGGREGATE
|
||||
|
||||
# ifdef _WIN32
|
||||
# define BOOST_NO_SWPRINTF
|
||||
# elif defined(linux) || defined(__linux__) || defined(__linux)
|
||||
// we should really be able to do without this
|
||||
// but the wcs* functions aren't imported into std::
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
// _CPPUNWIND doesn't get automatically set for some reason:
|
||||
# pragma defineonoption BOOST_CPPUNWIND -x
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (__BORLANDC__ <= 0x613) // Beman has asked Alisdair for more info
|
||||
// we shouldn't really need this - but too many things choke
|
||||
// without it, this needs more investigation:
|
||||
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
|
||||
# define BOOST_NO_USING_TEMPLATE
|
||||
# define BOOST_SP_NO_SP_CONVERTIBLE
|
||||
|
||||
// Temporary workaround
|
||||
#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
|
||||
#endif
|
||||
|
||||
// Borland C++ Builder 2008 and below:
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||
# define BOOST_NO_NESTED_FRIENDSHIP
|
||||
# define BOOST_NO_TYPENAME_WITH_CTOR
|
||||
#if (__BORLANDC__ < 0x600)
|
||||
# define BOOST_ILLEGAL_CV_REFERENCES
|
||||
#endif
|
||||
|
||||
//
|
||||
// Positive Feature detection
|
||||
//
|
||||
// Borland C++ Builder 2008 and below:
|
||||
#if (__BORLANDC__ >= 0x599)
|
||||
# pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax
|
||||
#endif
|
||||
//
|
||||
// C++0x Macros:
|
||||
//
|
||||
#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610)
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#else
|
||||
# define BOOST_HAS_ALIGNOF
|
||||
# define BOOST_HAS_CHAR16_T
|
||||
# define BOOST_HAS_CHAR32_T
|
||||
# define BOOST_HAS_DECLTYPE
|
||||
# define BOOST_HAS_EXPLICIT_CONVERSION_OPS
|
||||
# define BOOST_HAS_REF_QUALIFIER
|
||||
# define BOOST_HAS_RVALUE_REFS
|
||||
# define BOOST_HAS_STATIC_ASSERT
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS // UTF-8 still not supported
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
#if __BORLANDC__ >= 0x590
|
||||
# define BOOST_HAS_TR1_HASH
|
||||
|
||||
# define BOOST_HAS_MACRO_USE_FACET
|
||||
#endif
|
||||
|
||||
//
|
||||
// Post 0x561 we have long long and stdint.h:
|
||||
#if __BORLANDC__ >= 0x561
|
||||
# ifndef __NO_LONG_LONG
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
# else
|
||||
# define BOOST_NO_LONG_LONG
|
||||
# endif
|
||||
// On non-Win32 platforms let the platform config figure this out:
|
||||
# ifdef _WIN32
|
||||
# define BOOST_HAS_STDINT_H
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is
|
||||
// defined, then we have 0x560 or greater with the Rogue Wave implementation
|
||||
// which presumably has the std::DBL_MAX bug.
|
||||
#if defined( BOOST_BCB_WITH_ROGUE_WAVE )
|
||||
// <climits> is partly broken, some macros define symbols that are really in
|
||||
// namespace std, so you end up having to use illegal constructs like
|
||||
// std::DBL_MAX, as a fix we'll just include float.h and have done with:
|
||||
#include <float.h>
|
||||
#endif
|
||||
//
|
||||
// __int64:
|
||||
//
|
||||
#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
//
|
||||
// check for exception handling support:
|
||||
//
|
||||
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
//
|
||||
// all versions have a <dirent.h>:
|
||||
//
|
||||
#ifndef __STRICT_ANSI__
|
||||
# define BOOST_HAS_DIRENT_H
|
||||
#endif
|
||||
//
|
||||
// all versions support __declspec:
|
||||
//
|
||||
#if defined(__STRICT_ANSI__)
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
# define BOOST_SYMBOL_EXPORT
|
||||
#endif
|
||||
//
|
||||
// ABI fixing headers:
|
||||
//
|
||||
#if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet
|
||||
#ifndef BOOST_ABI_PREFIX
|
||||
# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
|
||||
#endif
|
||||
#ifndef BOOST_ABI_SUFFIX
|
||||
# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
|
||||
#endif
|
||||
#endif
|
||||
//
|
||||
// Disable Win32 support in ANSI mode:
|
||||
//
|
||||
#if __BORLANDC__ < 0x600
|
||||
# pragma defineonoption BOOST_DISABLE_WIN32 -A
|
||||
#elif defined(__STRICT_ANSI__)
|
||||
# define BOOST_DISABLE_WIN32
|
||||
#endif
|
||||
//
|
||||
// MSVC compatibility mode does some nasty things:
|
||||
// TODO: look up if this doesn't apply to the whole 12xx range
|
||||
//
|
||||
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
#endif
|
||||
|
||||
// Borland did not implement value-initialization completely, as I reported
|
||||
// in 2007, Borland Report 51854, "Value-initialization: POD struct should be
|
||||
// zero-initialized", http://qc.embarcadero.com/wc/qcmain.aspx?d=51854
|
||||
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
||||
// (Niels Dekker, LKEB, April 2010)
|
||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
|
||||
#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
|
|
@ -1,200 +0,0 @@
|
|||
// (C) Copyright Douglas Gregor 2010
|
||||
//
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Clang compiler setup.
|
||||
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
// When compiling with clang before __has_extension was defined,
|
||||
// even if one writes 'defined(__has_extension) && __has_extension(xxx)',
|
||||
// clang reports a compiler error. So the only workaround found is:
|
||||
|
||||
#ifndef __has_extension
|
||||
#define __has_extension __has_feature
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
|
||||
# define BOOST_NO_RTTI
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
|
||||
# define BOOST_NO_TYPEID
|
||||
#endif
|
||||
|
||||
#if defined(__int64) && !defined(__GNUC__)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
|
||||
#define BOOST_HAS_NRVO
|
||||
|
||||
// Branch prediction hints
|
||||
#if defined(__has_builtin)
|
||||
#if __has_builtin(__builtin_expect)
|
||||
#define BOOST_LIKELY(x) __builtin_expect(x, 1)
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Clang supports "long long" in all compilation modes.
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
|
||||
#if defined(__SIZEOF_INT128__)
|
||||
# define BOOST_HAS_INT128
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
|
||||
# define BOOST_SYMBOL_IMPORT
|
||||
# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
|
||||
#endif
|
||||
|
||||
//
|
||||
// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
|
||||
// between switch labels.
|
||||
//
|
||||
#if __cplusplus >= 201103L && defined(__has_warning)
|
||||
# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
|
||||
# define BOOST_FALLTHROUGH [[clang::fallthrough]]
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_auto_type)
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t
|
||||
//
|
||||
#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_constexpr)
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_decltype)
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_decltype_incomplete_return_types)
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_defaulted_functions)
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_deleted_functions)
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_explicit_conversions)
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_default_function_template_args)
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_generalized_initializers)
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_lambdas)
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_local_type_template_args)
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_noexcept)
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_nullptr)
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_range_for)
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_raw_string_literals)
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_reference_qualified_functions)
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_generalized_initializers)
|
||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_rvalue_references)
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_strong_enums)
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_static_assert)
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_alias_templates)
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_unicode_literals)
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_variadic_templates)
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_user_literals)
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
|
||||
#if !(__has_feature(cxx_alignas) || __has_extension(cxx_alignas))
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_trailing_return)
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_inline_namespaces)
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#endif
|
||||
|
||||
// Clang always supports variadic macros
|
||||
// Clang always supports extern templates
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "Clang version " __clang_version__
|
||||
#endif
|
||||
|
||||
// Macro used to identify the Clang compiler.
|
||||
#define BOOST_CLANG 1
|
||||
|
|
@ -1,190 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// CodeGear C++ compiler setup:
|
||||
|
||||
#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
|
||||
// these warnings occur frequently in optimized template code
|
||||
# pragma warn -8004 // var assigned value, but never used
|
||||
# pragma warn -8008 // condition always true/false
|
||||
# pragma warn -8066 // dead code can never execute
|
||||
# pragma warn -8104 // static members with ctors not threadsafe
|
||||
# pragma warn -8105 // reference member in class without ctors
|
||||
#endif
|
||||
//
|
||||
// versions check:
|
||||
// last known and checked version is 0x621
|
||||
#if (__CODEGEARC__ > 0x621)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
# pragma message( "Unknown compiler version - please run the configure tests and report the results")
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// CodeGear C++ Builder 2009
|
||||
#if (__CODEGEARC__ <= 0x613)
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# define BOOST_NO_PRIVATE_IN_AGGREGATE
|
||||
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||
// we shouldn't really need this - but too many things choke
|
||||
// without it, this needs more investigation:
|
||||
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
# define BOOST_SP_NO_SP_CONVERTIBLE
|
||||
#endif
|
||||
|
||||
// CodeGear C++ Builder 2010
|
||||
#if (__CODEGEARC__ <= 0x621)
|
||||
# define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type
|
||||
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member
|
||||
# define BOOST_NO_USING_TEMPLATE
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
// Temporary hack, until specific MPL preprocessed headers are generated
|
||||
# define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
|
||||
|
||||
// CodeGear has not yet completely implemented value-initialization, for
|
||||
// example for array types, as I reported in 2010: Embarcadero Report 83751,
|
||||
// "Value-initialization: arrays should have each element value-initialized",
|
||||
// http://qc.embarcadero.com/wc/qcmain.aspx?d=83751
|
||||
// Last checked version: Embarcadero C++ 6.21
|
||||
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
||||
// (Niels Dekker, LKEB, April 2010)
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
|
||||
# if defined(NDEBUG) && defined(__cplusplus)
|
||||
// fix broken <cstring> so that Boost.test works:
|
||||
# include <cstring>
|
||||
# undef strcmp
|
||||
# endif
|
||||
// fix broken errno declaration:
|
||||
# include <errno.h>
|
||||
# ifndef errno
|
||||
# define errno errno
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
// Reportedly, #pragma once is supported since C++ Builder 2010
|
||||
#if (__CODEGEARC__ >= 0x620)
|
||||
# define BOOST_HAS_PRAGMA_ONCE
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x macros:
|
||||
//
|
||||
#if (__CODEGEARC__ <= 0x620)
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#else
|
||||
#define BOOST_HAS_STATIC_ASSERT
|
||||
#endif
|
||||
#define BOOST_HAS_CHAR16_T
|
||||
#define BOOST_HAS_CHAR32_T
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
// #define BOOST_HAS_ALIGNOF
|
||||
#define BOOST_HAS_DECLTYPE
|
||||
#define BOOST_HAS_EXPLICIT_CONVERSION_OPS
|
||||
// #define BOOST_HAS_RVALUE_REFS
|
||||
#define BOOST_HAS_SCOPED_ENUM
|
||||
// #define BOOST_HAS_STATIC_ASSERT
|
||||
#define BOOST_HAS_STD_TYPE_TRAITS
|
||||
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
//
|
||||
// TR1 macros:
|
||||
//
|
||||
#define BOOST_HAS_TR1_HASH
|
||||
#define BOOST_HAS_TR1_TYPE_TRAITS
|
||||
#define BOOST_HAS_TR1_UNORDERED_MAP
|
||||
#define BOOST_HAS_TR1_UNORDERED_SET
|
||||
|
||||
#define BOOST_HAS_MACRO_USE_FACET
|
||||
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
|
||||
// On non-Win32 platforms let the platform config figure this out:
|
||||
#ifdef _WIN32
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
//
|
||||
// __int64:
|
||||
//
|
||||
#if !defined(__STRICT_ANSI__)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
//
|
||||
// check for exception handling support:
|
||||
//
|
||||
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
//
|
||||
// all versions have a <dirent.h>:
|
||||
//
|
||||
#if !defined(__STRICT_ANSI__)
|
||||
# define BOOST_HAS_DIRENT_H
|
||||
#endif
|
||||
//
|
||||
// all versions support __declspec:
|
||||
//
|
||||
#if defined(__STRICT_ANSI__)
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
# define BOOST_SYMBOL_EXPORT
|
||||
#endif
|
||||
//
|
||||
// ABI fixing headers:
|
||||
//
|
||||
#ifndef BOOST_ABI_PREFIX
|
||||
# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
|
||||
#endif
|
||||
#ifndef BOOST_ABI_SUFFIX
|
||||
# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
|
||||
#endif
|
||||
//
|
||||
// Disable Win32 support in ANSI mode:
|
||||
//
|
||||
# pragma defineonoption BOOST_DISABLE_WIN32 -A
|
||||
//
|
||||
// MSVC compatibility mode does some nasty things:
|
||||
// TODO: look up if this doesn't apply to the whole 12xx range
|
||||
//
|
||||
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright Douglas Gregor 2001.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright Aleksey Gurtovoy 2003.
|
||||
// (C) Copyright Beman Dawes 2003.
|
||||
// (C) Copyright Jens Maurer 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Comeau C++ compiler setup:
|
||||
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
|
||||
#if (__COMO_VERSION__ <= 4245)
|
||||
|
||||
# if defined(_MSC_VER) && _MSC_VER <= 1300
|
||||
# if _MSC_VER > 100
|
||||
// only set this in non-strict mode:
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# endif
|
||||
# endif
|
||||
|
||||
// Void returns don't work when emulating VC 6 (Peter Dimov)
|
||||
// TODO: look up if this doesn't apply to the whole 12xx range
|
||||
# if defined(_MSC_VER) && (_MSC_VER < 1300)
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
# endif
|
||||
|
||||
#endif // version 4245
|
||||
|
||||
//
|
||||
// enable __int64 support in VC emulation mode
|
||||
//
|
||||
# if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
# endif
|
||||
|
||||
#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__)
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't know Comeau prior to version 4245:
|
||||
#if __COMO_VERSION__ < 4245
|
||||
# error "Compiler not configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 4245:
|
||||
#if (__COMO_VERSION__ > 4245)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,113 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2002.
|
||||
// (C) Copyright Jens Maurer 2001.
|
||||
// (C) Copyright David Abrahams 2002.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// (C) Copyright Markus Schoepflin 2005.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
//
|
||||
// Options common to all edg based compilers.
|
||||
//
|
||||
// This is included from within the individual compiler mini-configs.
|
||||
|
||||
#ifndef __EDG_VERSION__
|
||||
# error This file requires that __EDG_VERSION__ be defined.
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ <= 238)
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_NO_SFINAE
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ <= 240)
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
|
||||
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
#endif
|
||||
|
||||
// See also kai.hpp which checks a Kai-specific symbol for EH
|
||||
# if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
# endif
|
||||
|
||||
# if !defined(__NO_LONG_LONG)
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
# else
|
||||
# define BOOST_NO_LONG_LONG
|
||||
# endif
|
||||
|
||||
// Not sure what version was the first to support #pragma once, but
|
||||
// different EDG-based compilers (e.g. Intel) supported it for ages.
|
||||
// Add a proper version check if it causes problems.
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See above for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#if (__EDG_VERSION__ < 310)
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#endif
|
||||
#if (__EDG_VERSION__ <= 310)
|
||||
// No support for initializer lists
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#endif
|
||||
#if (__EDG_VERSION__ < 400)
|
||||
# define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
#ifdef c_plusplus
|
||||
// EDG has "long long" in non-strict mode
|
||||
// However, some libraries have insufficient "long long" support
|
||||
// #define BOOST_HAS_LONG_LONG
|
||||
#endif
|
|
@ -1,19 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Tru64 C++ compiler setup (now HP):
|
||||
|
||||
#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER)
|
||||
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// Nothing to do here?
|
||||
|
||||
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
// (C) Copyright John Maddock 2011.
|
||||
// (C) Copyright Cray, Inc. 2013
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Greenhills C compiler setup:
|
||||
|
||||
#define BOOST_COMPILER "Cray C version " BOOST_STRINGIZE(_RELEASE)
|
||||
|
||||
#if _RELEASE < 8
|
||||
# error "Boost is not configured for Cray compilers prior to version 8, please try the configure script."
|
||||
#endif
|
||||
|
||||
//
|
||||
// Check this is a recent EDG based compiler, otherwise we don't support it here:
|
||||
//
|
||||
#ifndef __EDG_VERSION__
|
||||
# error "Unsupported Cray compiler, please try running the configure script."
|
||||
#endif
|
||||
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
|
||||
|
||||
//
|
||||
//
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_HAS_NRVO
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_HAS_NRVO
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
|
||||
#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
|
||||
//#define BOOST_HAS_FPCLASSIFY
|
||||
|
||||
#define BOOST_SP_USE_PTHREADS
|
||||
#define BOOST_AC_USE_PTHREADS
|
||||
|
||||
/* everything that follows is working around what are thought to be
|
||||
* compiler shortcomings. Revist all of these regularly.
|
||||
*/
|
||||
|
||||
//#define BOOST_USE_ENUM_STATIC_ASSERT
|
||||
//#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define
|
||||
|
||||
// These constants should be provided by the
|
||||
// compiler, at least when -hgnu is asserted on the command line.
|
||||
|
||||
#ifndef __ATOMIC_RELAXED
|
||||
#define __ATOMIC_RELAXED 0
|
||||
#define __ATOMIC_CONSUME 1
|
||||
#define __ATOMIC_ACQUIRE 2
|
||||
#define __ATOMIC_RELEASE 3
|
||||
#define __ATOMIC_ACQ_REL 4
|
||||
#define __ATOMIC_SEQ_CST 5
|
||||
#endif
|
||||
|
||||
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
// Copyright (C) Christof Meerwald 2003
|
||||
// Copyright (C) Dan Watkins 2003
|
||||
//
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// Digital Mars C++ compiler setup:
|
||||
#define BOOST_COMPILER __DMC_VERSION_STRING__
|
||||
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
#if !defined(BOOST_STRICT_CONFIG)
|
||||
#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
#define BOOST_NO_OPERATORS_IN_NAMESPACE
|
||||
#define BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
#define BOOST_NO_SFINAE
|
||||
#define BOOST_NO_USING_TEMPLATE
|
||||
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
#endif
|
||||
|
||||
//
|
||||
// has macros:
|
||||
#define BOOST_HAS_DIRENT_H
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#define BOOST_HAS_WINTHREADS
|
||||
|
||||
#if (__DMC__ >= 0x847)
|
||||
#define BOOST_HAS_EXPM1
|
||||
#define BOOST_HAS_LOG1P
|
||||
#endif
|
||||
|
||||
//
|
||||
// Is this really the best way to detect whether the std lib is in namespace std?
|
||||
//
|
||||
#ifdef __cplusplus
|
||||
#include <cstddef>
|
||||
#endif
|
||||
#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
#endif
|
||||
|
||||
|
||||
// check for exception handling support:
|
||||
#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
#if (__DMC__ <= 0x840)
|
||||
#error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is ...:
|
||||
#if (__DMC__ > 0x848)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
|
@ -1,266 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Darin Adler 2001 - 2002.
|
||||
// (C) Copyright Jens Maurer 2001 - 2002.
|
||||
// (C) Copyright Beman Dawes 2001 - 2003.
|
||||
// (C) Copyright Douglas Gregor 2002.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Synge Todo 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// GNU C++ compiler setup.
|
||||
|
||||
//
|
||||
// Define BOOST_GCC so we know this is "real" GCC and not some pretender:
|
||||
//
|
||||
#if !defined(__CUDACC__)
|
||||
#define BOOST_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#if __GNUC__ == 3
|
||||
# if defined (__PATHSCALE__)
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
|
||||
# if __GNUC_MINOR__ < 4
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#endif
|
||||
#if __GNUC__ < 4
|
||||
//
|
||||
// All problems to gcc-3.x and earlier here:
|
||||
//
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
# ifdef __OPEN64__
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links
|
||||
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 4 )
|
||||
// Previous versions of GCC did not completely implement value-initialization:
|
||||
// GCC Bug 30111, "Value-initialization of POD base class doesn't initialize
|
||||
// members", reported by Jonathan Wakely in 2006,
|
||||
// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4)
|
||||
// GCC Bug 33916, "Default constructor fails to initialize array members",
|
||||
// reported by Michael Elizabeth Chastain in 2007,
|
||||
// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4)
|
||||
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
#endif
|
||||
|
||||
#if !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// Threading support: Turn this on unconditionally here (except for
|
||||
// those platforms where we can know for sure). It will get turned off again
|
||||
// later if no threading API is detected.
|
||||
//
|
||||
#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
//
|
||||
// gcc has "long long"
|
||||
// Except on Darwin with standard compliance enabled (-pedantic)
|
||||
// Apple gcc helpfully defines this macro we can query
|
||||
//
|
||||
#if !defined(__DARWIN_NO_LONG_LONG)
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
#endif
|
||||
|
||||
//
|
||||
// gcc implements the named return value optimization since version 3.1
|
||||
//
|
||||
#define BOOST_HAS_NRVO
|
||||
|
||||
// Branch prediction hints
|
||||
#define BOOST_LIKELY(x) __builtin_expect(x, 1)
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
|
||||
|
||||
//
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if __GNUC__ >= 4
|
||||
# if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(__CYGWIN__)
|
||||
// All Win32 development environments, including 64-bit Windows and MinGW, define
|
||||
// _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,
|
||||
// so does not define _WIN32 or its variants.
|
||||
# define BOOST_HAS_DECLSPEC
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__))
|
||||
# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
|
||||
# else
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
|
||||
# define BOOST_SYMBOL_IMPORT
|
||||
# endif
|
||||
# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
|
||||
#else
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
# define BOOST_SYMBOL_EXPORT
|
||||
#endif
|
||||
|
||||
//
|
||||
// RTTI and typeinfo detection is possible post gcc-4.3:
|
||||
//
|
||||
#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403
|
||||
# ifndef __GXX_RTTI
|
||||
# ifndef BOOST_NO_TYPEID
|
||||
# define BOOST_NO_TYPEID
|
||||
# endif
|
||||
# ifndef BOOST_NO_RTTI
|
||||
# define BOOST_NO_RTTI
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Recent GCC versions have __int128 when in 64-bit mode.
|
||||
//
|
||||
// We disable this if the compiler is really nvcc as it
|
||||
// doesn't actually support __int128 as of CUDA_VERSION=5000
|
||||
// even though it defines __SIZEOF_INT128__.
|
||||
// See https://svn.boost.org/trac/boost/ticket/8048
|
||||
// Only re-enable this for nvcc if you're absolutely sure
|
||||
// of the circumstances under which it's supported:
|
||||
//
|
||||
#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__)
|
||||
# define BOOST_HAS_INT128
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.3.n and later
|
||||
//
|
||||
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
|
||||
// passed on the command line, which in turn defines
|
||||
// __GXX_EXPERIMENTAL_CXX0X__.
|
||||
# define BOOST_HAS_DECLTYPE
|
||||
# define BOOST_HAS_RVALUE_REFS
|
||||
# define BOOST_HAS_STATIC_ASSERT
|
||||
# define BOOST_HAS_VARIADIC_TMPL
|
||||
#else
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
|
||||
// Variadic templates compiler:
|
||||
// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
|
||||
# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define BOOST_HAS_VARIADIC_TMPL
|
||||
# else
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.4.n and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
// GCC 4.5 forbids declaration of defaulted functions in private or protected sections
|
||||
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 5)
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.5.0 and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.5.1 and later
|
||||
//
|
||||
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40501) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1
|
||||
// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.6.n and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.7.n and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.8.n and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.8.1 and later
|
||||
//
|
||||
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40801) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "GNU C++ version " __VERSION__
|
||||
#endif
|
||||
|
||||
// ConceptGCC compiler:
|
||||
// http://www.generic-programming.org/software/ConceptGCC/
|
||||
#ifdef __GXX_CONCEPTS__
|
||||
# define BOOST_HAS_CONCEPTS
|
||||
# define BOOST_COMPILER "ConceptGCC version " __VERSION__
|
||||
#endif
|
||||
|
||||
// versions check:
|
||||
// we don't know gcc prior to version 3.30:
|
||||
#if (__GNUC__ < 3) || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3))
|
||||
# error "Compiler not configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 4.6 (Pre-release):
|
||||
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
// we don't emit warnings here anymore since there are no defect macros defined for
|
||||
// gcc post 3.4, so any failures are gcc regressions...
|
||||
//# warning "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
// (C) Copyright John Maddock 2006.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// GCC-XML C++ compiler setup:
|
||||
|
||||
# if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3))
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
|
||||
//
|
||||
// Threading support: Turn this on unconditionally here (except for
|
||||
// those platforms where we can know for sure). It will get turned off again
|
||||
// later if no threading API is detected.
|
||||
//
|
||||
#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__)
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
//
|
||||
// gcc has "long long"
|
||||
//
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
|
||||
// C++0x features:
|
||||
//
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
|
||||
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Greenhills C++ compiler setup:
|
||||
|
||||
#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs)
|
||||
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Greenhills prior to version 0:
|
||||
#if __ghs < 0
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 0:
|
||||
#if (__ghs > 0)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Jens Maurer 2001 - 2003.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Toon Knapen 2003.
|
||||
// (C) Copyright Boris Gubenko 2006 - 2007.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// HP aCC C++ compiler setup:
|
||||
|
||||
#if defined(__EDG__)
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
#endif
|
||||
|
||||
#if (__HP_aCC <= 33100)
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_NO_OPERATORS_IN_NAMESPACE
|
||||
# if !defined(_NAMESPACE_STD)
|
||||
# define BOOST_NO_STD_LOCALE
|
||||
# define BOOST_NO_STRINGSTREAM
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (__HP_aCC <= 33300)
|
||||
// member templates are sufficiently broken that we disable them for now
|
||||
# define BOOST_NO_MEMBER_TEMPLATES
|
||||
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||
#endif
|
||||
|
||||
#if (__HP_aCC <= 38000)
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
|
||||
#if (__HP_aCC > 50000) && (__HP_aCC < 60000)
|
||||
# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||
# define BOOST_NO_SWPRINTF
|
||||
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
#endif
|
||||
|
||||
// optional features rather than defects:
|
||||
#if (__HP_aCC >= 33900)
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
|
||||
#endif
|
||||
|
||||
#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 )
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
|
||||
#endif
|
||||
|
||||
// This macro should not be defined when compiling in strict ansi
|
||||
// mode, but, currently, we don't have the ability to determine
|
||||
// what standard mode we are compiling with. Some future version
|
||||
// of aCC6 compiler will provide predefined macros reflecting the
|
||||
// compilation options, including the standard mode.
|
||||
#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98))
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC)
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support HP aCC prior to version 33000:
|
||||
#if __HP_aCC < 33000
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Extended checks for supporting aCC on PA-RISC
|
||||
#if __HP_aCC > 30000 && __HP_aCC < 50000
|
||||
# if __HP_aCC < 38000
|
||||
// versions prior to version A.03.80 not supported
|
||||
# error "Compiler version not supported - version A.03.80 or higher is required"
|
||||
# elif !defined(__hpxstd98)
|
||||
// must compile using the option +hpxstd98 with version A.03.80 and above
|
||||
# error "Compiler option '+hpxstd98' is required for proper support"
|
||||
# endif //PA-RISC
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#if !defined(__EDG__)
|
||||
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
/*
|
||||
See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and
|
||||
https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436
|
||||
*/
|
||||
|
||||
#if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE)
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// last known and checked version for HP-UX/ia64 is 61300
|
||||
// last known and checked version for PA-RISC is 38000
|
||||
#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
|
@ -1,324 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001-8.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright Jens Maurer 2001.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002 - 2003.
|
||||
// (C) Copyright Guillaume Melquiond 2002 - 2003.
|
||||
// (C) Copyright Beman Dawes 2003.
|
||||
// (C) Copyright Martin Wille 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Intel compiler setup:
|
||||
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
|
||||
#if defined(__INTEL_COMPILER)
|
||||
# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
|
||||
#elif defined(__ICL)
|
||||
# define BOOST_INTEL_CXX_VERSION __ICL
|
||||
#elif defined(__ICC)
|
||||
# define BOOST_INTEL_CXX_VERSION __ICC
|
||||
#elif defined(__ECC)
|
||||
# define BOOST_INTEL_CXX_VERSION __ECC
|
||||
#endif
|
||||
|
||||
// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'
|
||||
#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define BOOST_INTEL_STDCXX0X
|
||||
#endif
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
|
||||
# define BOOST_INTEL_STDCXX0X
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_INTEL_STDCXX0X
|
||||
#define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
||||
#else
|
||||
#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
||||
#endif
|
||||
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
# define BOOST_INTEL_WIN BOOST_INTEL
|
||||
#else
|
||||
# define BOOST_INTEL_LINUX BOOST_INTEL
|
||||
#endif
|
||||
|
||||
#if (BOOST_INTEL_CXX_VERSION <= 600)
|
||||
|
||||
# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)
|
||||
|
||||
// Boost libraries assume strong standard conformance unless otherwise
|
||||
// indicated by a config macro. As configured by Intel, the EDG front-end
|
||||
// requires certain compiler options be set to achieve that strong conformance.
|
||||
// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt)
|
||||
// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for
|
||||
// details as they apply to particular versions of the compiler. When the
|
||||
// compiler does not predefine a macro indicating if an option has been set,
|
||||
// this config file simply assumes the option has been set.
|
||||
// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if
|
||||
// the compiler option is not enabled.
|
||||
|
||||
# define BOOST_NO_SWPRINTF
|
||||
# endif
|
||||
|
||||
// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov)
|
||||
|
||||
# if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32)
|
||||
# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864
|
||||
#if BOOST_INTEL_CXX_VERSION < 600
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
#else
|
||||
// We should test the macro _WCHAR_T_DEFINED to check if the compiler
|
||||
// supports wchar_t natively. *BUT* there is a problem here: the standard
|
||||
// headers define this macro if they typedef wchar_t. Anyway, we're lucky
|
||||
// because they define it without a value, while Intel C++ defines it
|
||||
// to 1. So we can check its value to see if the macro was defined natively
|
||||
// or not.
|
||||
// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T
|
||||
// is used instead.
|
||||
# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0)
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
|
||||
//
|
||||
// Figure out when Intel is emulating this gcc bug
|
||||
// (All Intel versions prior to 9.0.26, and versions
|
||||
// later than that if they are set up to emulate gcc 3.2
|
||||
// or earlier):
|
||||
//
|
||||
# if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912)
|
||||
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
# endif
|
||||
#endif
|
||||
#if (defined(__GNUC__) && (__GNUC__ < 4)) || (defined(_WIN32) && (BOOST_INTEL_CXX_VERSION <= 1200)) || (BOOST_INTEL_CXX_VERSION <= 1200)
|
||||
// GCC or VC emulation:
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
//
|
||||
// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T
|
||||
// set correctly, if we don't do this now, we will get errors later
|
||||
// in type_traits code among other things, getting this correct
|
||||
// for the Intel compiler is actually remarkably fragile and tricky:
|
||||
//
|
||||
#ifdef __cplusplus
|
||||
#if defined(BOOST_NO_INTRINSIC_WCHAR_T)
|
||||
#include <cwchar>
|
||||
template< typename T > struct assert_no_intrinsic_wchar_t;
|
||||
template<> struct assert_no_intrinsic_wchar_t<wchar_t> { typedef void type; };
|
||||
// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T
|
||||
// where it is defined above:
|
||||
typedef assert_no_intrinsic_wchar_t<unsigned short>::type assert_no_intrinsic_wchar_t_;
|
||||
#else
|
||||
template< typename T > struct assert_intrinsic_wchar_t;
|
||||
template<> struct assert_intrinsic_wchar_t<wchar_t> {};
|
||||
// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line:
|
||||
template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER+0 >= 1000)
|
||||
# if _MSC_VER >= 1200
|
||||
# define BOOST_HAS_MS_INT64
|
||||
# endif
|
||||
# define BOOST_NO_SWPRINTF
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#elif defined(_WIN32)
|
||||
# define BOOST_DISABLE_WIN32
|
||||
#endif
|
||||
|
||||
// I checked version 6.0 build 020312Z, it implements the NRVO.
|
||||
// Correct this as you find out which version of the compiler
|
||||
// implemented the NRVO first. (Daniel Frey)
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 600)
|
||||
# define BOOST_HAS_NRVO
|
||||
#endif
|
||||
|
||||
// Branch prediction hints
|
||||
// I'm not sure 8.0 was the first version to support these builtins,
|
||||
// update the condition if the version is not accurate. (Andrey Semashev)
|
||||
#if defined(__GNUC__) && BOOST_INTEL_CXX_VERSION >= 800
|
||||
#define BOOST_LIKELY(x) __builtin_expect(x, 1)
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
|
||||
#endif
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Intel prior to version 6.0:
|
||||
#if BOOST_INTEL_CXX_VERSION < 600
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
|
||||
// Intel on MacOS requires
|
||||
#if defined(__APPLE__) && defined(__INTEL_COMPILER)
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
|
||||
// Intel on Altix Itanium
|
||||
#if defined(__itanium__) && defined(__INTEL_COMPILER)
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
|
||||
//
|
||||
// An attempt to value-initialize a pointer-to-member may trigger an
|
||||
// internal error on Intel <= 11.1 (last checked version), as was
|
||||
// reported by John Maddock, Intel support issue 589832, May 2010.
|
||||
// Moreover, according to test results from Huang-Vista-x86_32_intel,
|
||||
// intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some
|
||||
// cases when it should be value-initialized.
|
||||
// (Niels Dekker, LKEB, May 2010)
|
||||
// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression).
|
||||
#if defined(__INTEL_COMPILER)
|
||||
# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1500))
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 4)
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
|
||||
# define BOOST_SYMBOL_IMPORT
|
||||
# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
|
||||
#endif
|
||||
//
|
||||
// C++0x features
|
||||
// - ICC added static_assert in 11.0 (first version with C++0x support)
|
||||
//
|
||||
#if defined(BOOST_INTEL_STDCXX0X)
|
||||
# undef BOOST_NO_CXX11_STATIC_ASSERT
|
||||
//
|
||||
// These pass our test cases, but aren't officially supported according to:
|
||||
// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
|
||||
//
|
||||
//# undef BOOST_NO_CXX11_LAMBDAS
|
||||
//# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
//# undef BOOST_NO_CXX11_DECLTYPE
|
||||
//# undef BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
//# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200)
|
||||
//# undef BOOST_NO_CXX11_RVALUE_REFERENCES // Enabling this breaks Filesystem and Exception libraries
|
||||
//# undef BOOST_NO_CXX11_SCOPED_ENUMS // doesn't really work!!
|
||||
# undef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# undef BOOST_NO_CXX11_LAMBDAS
|
||||
# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# undef BOOST_NO_CXX11_DECLTYPE
|
||||
# undef BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#endif
|
||||
|
||||
// icl Version 12.1.0.233 Build 20110811 and possibly some other builds
|
||||
// had an incorrect __INTEL_COMPILER value of 9999. Intel say this has been fixed.
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION > 1200)
|
||||
# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# undef BOOST_NO_CXX11_NULLPTR
|
||||
# undef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# undef BOOST_NO_SFINAE_EXPR
|
||||
# undef BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
|
||||
// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
|
||||
// continues to list scoped enum support as "Partial"
|
||||
//# undef BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(_MSC_VER)
|
||||
# undef BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
// This one generates internal compiler errors in multiprecision, disabled for now:
|
||||
//# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
// This one generates errors when used with conditional exception specifications, for example in multiprecision:
|
||||
//# undef BOOST_NO_CXX11_NOEXCEPT
|
||||
# undef BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# undef BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#endif
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1310)
|
||||
# undef BOOST_NO_SFINAE_EXPR
|
||||
#endif
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1400) && !defined(_MSC_VER)
|
||||
# undef BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# undef BOOST_NO_CXX11_RAW_LITERALS
|
||||
// This one generates errors when used with conditional exception specifications, for example in multiprecision:
|
||||
//# undef BOOST_NO_CXX11_NOEXCEPT
|
||||
// This breaks multiprecision:
|
||||
//# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# undef BOOST_NO_CXX11_HDR_THREAD
|
||||
# undef BOOST_NO_CXX11_CHAR32_T
|
||||
# undef BOOST_NO_CXX11_CHAR16_T
|
||||
# undef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310)
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION == 1400)
|
||||
// A regression in Intel's compiler means that <tuple> seems to be broken in this release as well as <future> :
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER <= 1700)
|
||||
//
|
||||
// Although the Intel compiler is capable of supporting these, it appears not to in MSVC compatibility mode:
|
||||
//
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# if(BOOST_INTEL_CXX_VERSION < 1310)
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (BOOST_INTEL_CXX_VERSION < 1200)
|
||||
//
|
||||
// fenv.h appears not to work with Intel prior to 12.0:
|
||||
//
|
||||
# define BOOST_NO_FENV_H
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310)
|
||||
# define BOOST_HAS_INT128
|
||||
#endif
|
||||
|
||||
//
|
||||
// last known and checked version:
|
||||
#if (BOOST_INTEL_CXX_VERSION > 1310)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# elif defined(_MSC_VER)
|
||||
//
|
||||
// We don't emit this warning any more, since we have so few
|
||||
// defect macros set anyway (just the one).
|
||||
//
|
||||
//# pragma message("Unknown compiler version - please run the configure tests and report the results")
|
||||
# endif
|
||||
#endif
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright David Abrahams 2002.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Kai C++ compiler setup:
|
||||
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
|
||||
# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG)
|
||||
// at least on Sun, the contents of <cwchar> is not in namespace std
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
# endif
|
||||
|
||||
// see also common_edg.hpp which needs a special check for __KCC
|
||||
# if !defined(_EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
# endif
|
||||
|
||||
//
|
||||
// last known and checked version is 4001:
|
||||
#if (__KCC_VERSION > 4001)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
|
@ -1,149 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright Darin Adler 2001.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright David Abrahams 2001 - 2002.
|
||||
// (C) Copyright Beman Dawes 2001 - 2003.
|
||||
// (C) Copyright Stefan Slapeta 2004.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Metrowerks C++ compiler setup:
|
||||
|
||||
// locale support is disabled when linking with the dynamic runtime
|
||||
# ifdef _MSL_NO_LOCALE
|
||||
# define BOOST_NO_STD_LOCALE
|
||||
# endif
|
||||
|
||||
# if __MWERKS__ <= 0x2301 // 5.3
|
||||
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
# define BOOST_NO_POINTER_TO_MEMBER_CONST
|
||||
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
|
||||
# endif
|
||||
|
||||
# if __MWERKS__ <= 0x2401 // 6.2
|
||||
//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
# endif
|
||||
|
||||
# if(__MWERKS__ <= 0x2407) // 7.x
|
||||
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
# endif
|
||||
|
||||
# if(__MWERKS__ <= 0x3003) // 8.x
|
||||
# define BOOST_NO_SFINAE
|
||||
# endif
|
||||
|
||||
// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last
|
||||
// tested version *only*:
|
||||
# if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
|
||||
#if !__option(wchar_type)
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
#endif
|
||||
|
||||
#if !__option(exceptions) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
|
||||
# if __MWERKS__ == 0x3000
|
||||
# define BOOST_COMPILER_VERSION 8.0
|
||||
# elif __MWERKS__ == 0x3001
|
||||
# define BOOST_COMPILER_VERSION 8.1
|
||||
# elif __MWERKS__ == 0x3002
|
||||
# define BOOST_COMPILER_VERSION 8.2
|
||||
# elif __MWERKS__ == 0x3003
|
||||
# define BOOST_COMPILER_VERSION 8.3
|
||||
# elif __MWERKS__ == 0x3200
|
||||
# define BOOST_COMPILER_VERSION 9.0
|
||||
# elif __MWERKS__ == 0x3201
|
||||
# define BOOST_COMPILER_VERSION 9.1
|
||||
# elif __MWERKS__ == 0x3202
|
||||
# define BOOST_COMPILER_VERSION 9.2
|
||||
# elif __MWERKS__ == 0x3204
|
||||
# define BOOST_COMPILER_VERSION 9.3
|
||||
# elif __MWERKS__ == 0x3205
|
||||
# define BOOST_COMPILER_VERSION 9.4
|
||||
# elif __MWERKS__ == 0x3206
|
||||
# define BOOST_COMPILER_VERSION 9.5
|
||||
# elif __MWERKS__ == 0x3207
|
||||
# define BOOST_COMPILER_VERSION 9.6
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION __MWERKS__
|
||||
# endif
|
||||
#else
|
||||
# define BOOST_COMPILER_VERSION __MWERKS__
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#if __MWERKS__ > 0x3206 && __option(rvalue_refs)
|
||||
# define BOOST_HAS_RVALUE_REFS
|
||||
#else
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Metrowerks prior to version 5.3:
|
||||
#if __MWERKS__ < 0x2301
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version:
|
||||
#if (__MWERKS__ > 0x3205)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2002.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// MPW C++ compilers setup:
|
||||
|
||||
# if defined(__SC__)
|
||||
# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__)
|
||||
# elif defined(__MRC__)
|
||||
# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__)
|
||||
# else
|
||||
# error "Using MPW compiler configuration by mistake. Please update."
|
||||
# endif
|
||||
|
||||
//
|
||||
// MPW 8.90:
|
||||
//
|
||||
#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG)
|
||||
# define BOOST_NO_CV_SPECIALIZATIONS
|
||||
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# define BOOST_NO_USING_TEMPLATE
|
||||
|
||||
# define BOOST_NO_CWCHAR
|
||||
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
|
||||
# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
//
|
||||
// versions check:
|
||||
// we don't support MPW prior to version 8.9:
|
||||
#if MPW_CPLUS < 0x890
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 0x890:
|
||||
#if (MPW_CPLUS > 0x890)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
// (C) Copyright Eric Jourdanneau, Joel Falcou 2010
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// NVIDIA CUDA C++ compiler setup
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "NVIDIA CUDA C++ Compiler"
|
||||
#endif
|
||||
|
||||
// NVIDIA Specific support
|
||||
// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
|
||||
#define BOOST_GPU_ENABLED __host__ __device__
|
|
@ -1,84 +0,0 @@
|
|||
// (C) Copyright Bryce Lelbach 2011
|
||||
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// PathScale EKOPath C++ Compiler
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__
|
||||
#endif
|
||||
|
||||
#if __PATHCC__ >= 4
|
||||
# define BOOST_MSVC6_MEMBER_TEMPLATES
|
||||
# define BOOST_HAS_UNISTD_H
|
||||
# define BOOST_HAS_STDINT_H
|
||||
# define BOOST_HAS_SIGACTION
|
||||
# define BOOST_HAS_SCHED_YIELD
|
||||
# define BOOST_HAS_THREADS
|
||||
# define BOOST_HAS_PTHREADS
|
||||
# define BOOST_HAS_PTHREAD_YIELD
|
||||
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
|
||||
# define BOOST_HAS_NRVO
|
||||
# define BOOST_HAS_NL_TYPES_H
|
||||
# define BOOST_HAS_NANOSLEEP
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
# define BOOST_HAS_LOG1P
|
||||
# define BOOST_HAS_GETTIMEOFDAY
|
||||
# define BOOST_HAS_EXPM1
|
||||
# define BOOST_HAS_DIRENT_H
|
||||
# define BOOST_HAS_CLOCK_GETTIME
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
# define BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
# define BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||
# define BOOST_NO_CXX11_HDR_THREAD
|
||||
# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# define BOOST_NO_CXX11_HDR_REGEX
|
||||
# define BOOST_NO_CXX11_HDR_RATIO
|
||||
# define BOOST_NO_CXX11_HDR_RANDOM
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||
# define BOOST_NO_CXX11_HDR_CHRONO
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
|
@ -1,126 +0,0 @@
|
|||
// (C) Copyright Noel Belcourt 2007.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// PGI C++ compiler setup:
|
||||
|
||||
#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
|
||||
#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||
|
||||
//
|
||||
// Threading support:
|
||||
// Turn this on unconditionally here, it will get turned off again later
|
||||
// if no threading API is detected.
|
||||
//
|
||||
|
||||
#if __PGIC__ >= 11
|
||||
|
||||
// options requested by configure --enable-test
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_THREADS
|
||||
#define BOOST_HAS_PTHREAD_YIELD
|
||||
#define BOOST_HAS_NRVO
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
|
||||
// options --enable-test wants undefined
|
||||
#undef BOOST_NO_STDC_NAMESPACE
|
||||
#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
|
||||
#undef BOOST_DEDUCED_TYPENAME
|
||||
|
||||
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
|
||||
#elif __PGIC__ >= 10
|
||||
|
||||
// options requested by configure --enable-test
|
||||
#define BOOST_HAS_THREADS
|
||||
#define BOOST_HAS_NRVO
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
#if defined(linux) || defined(__linux) || defined(__linux__)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
// options --enable-test wants undefined
|
||||
#undef BOOST_NO_STDC_NAMESPACE
|
||||
#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
|
||||
#undef BOOST_DEDUCED_TYPENAME
|
||||
|
||||
#elif __PGIC__ >= 7
|
||||
|
||||
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_NO_SWPRINTF
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
|
||||
#else
|
||||
|
||||
# error "Pgi compiler not configured - please reconfigure"
|
||||
|
||||
#endif
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_SWPRINTF
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
|
||||
#define BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
#define BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
#define BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define BOOST_NO_CXX11_HDR_TUPLE
|
||||
#define BOOST_NO_CXX11_HDR_THREAD
|
||||
#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
#define BOOST_NO_CXX11_HDR_REGEX
|
||||
#define BOOST_NO_CXX11_HDR_RATIO
|
||||
#define BOOST_NO_CXX11_HDR_RANDOM
|
||||
#define BOOST_NO_CXX11_HDR_MUTEX
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_HDR_FUTURE
|
||||
#define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#define BOOST_NO_CXX11_HDR_CODECVT
|
||||
#define BOOST_NO_CXX11_HDR_CHRONO
|
||||
#define BOOST_NO_CXX11_HDR_ARRAY
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
//
|
||||
// version check:
|
||||
// probably nothing to do here?
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// SGI C++ compiler setup:
|
||||
|
||||
#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
|
||||
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
|
||||
//
|
||||
// Threading support:
|
||||
// Turn this on unconditionally here, it will get turned off again later
|
||||
// if no threading API is detected.
|
||||
//
|
||||
#define BOOST_HAS_THREADS
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
|
||||
#undef BOOST_NO_SWPRINTF
|
||||
#undef BOOST_DEDUCED_TYPENAME
|
||||
|
||||
//
|
||||
// version check:
|
||||
// probably nothing to do here?
|
||||
|
||||
|
|
@ -1,154 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright Jens Maurer 2001 - 2003.
|
||||
// (C) Copyright Peter Dimov 2002.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002 - 2003.
|
||||
// (C) Copyright David Abrahams 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Sun C++ compiler setup:
|
||||
|
||||
# if __SUNPRO_CC <= 0x500
|
||||
# define BOOST_NO_MEMBER_TEMPLATES
|
||||
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
# endif
|
||||
|
||||
# if (__SUNPRO_CC <= 0x520)
|
||||
//
|
||||
// Sunpro 5.2 and earler:
|
||||
//
|
||||
// although sunpro 5.2 supports the syntax for
|
||||
// inline initialization it often gets the value
|
||||
// wrong, especially where the value is computed
|
||||
// from other constants (J Maddock 6th May 2001)
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
|
||||
// Although sunpro 5.2 supports the syntax for
|
||||
// partial specialization, it often seems to
|
||||
// bind to the wrong specialization. Better
|
||||
// to disable it until suppport becomes more stable
|
||||
// (J Maddock 6th May 2001).
|
||||
# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# endif
|
||||
|
||||
# if (__SUNPRO_CC <= 0x530)
|
||||
// Requesting debug info (-g) with Boost.Python results
|
||||
// in an internal compiler error for "static const"
|
||||
// initialized in-class.
|
||||
// >> Assertion: (../links/dbg_cstabs.cc, line 611)
|
||||
// while processing ../test.cpp at line 0.
|
||||
// (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
|
||||
// SunPro 5.3 has better support for partial specialization,
|
||||
// but breaks when compiling std::less<shared_ptr<T> >
|
||||
// (Jens Maurer 4 Nov 2001).
|
||||
|
||||
// std::less specialization fixed as reported by George
|
||||
// Heintzelman; partial specialization re-enabled
|
||||
// (Peter Dimov 17 Jan 2002)
|
||||
|
||||
//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
// integral constant expressions with 64 bit numbers fail
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# endif
|
||||
|
||||
# if (__SUNPRO_CC < 0x570)
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||
// see http://lists.boost.org/MailArchives/boost/msg47184.php
|
||||
// and http://lists.boost.org/MailArchives/boost/msg47220.php
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
# define BOOST_NO_SFINAE
|
||||
# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
|
||||
# endif
|
||||
# if (__SUNPRO_CC <= 0x580)
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
|
||||
# if (__SUNPRO_CC <= 0x5100)
|
||||
// Sun 5.10 may not correctly value-initialize objects of
|
||||
// some user defined types, as was reported in April 2010
|
||||
// (CR 6947016), and confirmed by Steve Clamage.
|
||||
// (Niels Dekker, LKEB, May 2010).
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# endif
|
||||
|
||||
//
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if __SUNPRO_CC > 0x500
|
||||
# define BOOST_SYMBOL_EXPORT __global
|
||||
# define BOOST_SYMBOL_IMPORT __global
|
||||
# define BOOST_SYMBOL_VISIBLE __global
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Issues that effect all known versions:
|
||||
//
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_NO_ADL_BARRIER
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support sunpro prior to version 4:
|
||||
#if __SUNPRO_CC < 0x400
|
||||
#error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 0x590:
|
||||
#if (__SUNPRO_CC > 0x590)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
|
@ -1,132 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Toon Knapen 2001 - 2003.
|
||||
// (C) Copyright Lie-Quan Lee 2001.
|
||||
// (C) Copyright Markus Schoepflin 2002 - 2003.
|
||||
// (C) Copyright Beman Dawes 2002 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Visual Age (IBM) C++ compiler setup:
|
||||
|
||||
#if __IBMCPP__ <= 501
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
#endif
|
||||
|
||||
#if (__IBMCPP__ <= 502)
|
||||
// Actually the compiler supports inclass member initialization but it
|
||||
// requires a definition for the class member and it doesn't recognize
|
||||
// it as an integral constant expression when used as a template argument.
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
|
||||
#endif
|
||||
|
||||
#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)
|
||||
# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
#if (__IBMCPP__ <= 1110)
|
||||
// XL C++ V11.1 and earlier versions may not always value-initialize
|
||||
// a temporary object T(), when T is a non-POD aggregate class type.
|
||||
// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it
|
||||
// high priority. -- Niels Dekker (LKEB), May 2010.
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
#endif
|
||||
|
||||
//
|
||||
// On AIX thread support seems to be indicated by _THREAD_SAFE:
|
||||
//
|
||||
#ifdef _THREAD_SAFE
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__)
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Visual age prior to version 5:
|
||||
#if __IBMCPP__ < 500
|
||||
#error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 1210:
|
||||
#if (__IBMCPP__ > 1210)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// Some versions of the compiler have issues with default arguments on partial specializations
|
||||
#if __IBMCPP__ <= 1010
|
||||
#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#if ! __IBMCPP_AUTO_TYPEDEDUCTION
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#endif
|
||||
#if ! __IBMCPP_UTF_LITERAL__
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
#endif
|
||||
#if ! __IBMCPP_CONSTEXPR
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
#if ! __IBMCPP_DECLTYPE
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
#else
|
||||
# define BOOST_HAS_DECLTYPE
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#endif
|
||||
#if ! __IBMCPP_EXTERN_TEMPLATE
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#endif
|
||||
#if ! __IBMCPP_VARIADIC_TEMPLATES
|
||||
// not enabled separately at this time
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#if ! __IBMCPP_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#endif
|
||||
#if ! __IBMCPP_SCOPED_ENUM
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#if ! __IBMCPP_STATIC_ASSERT
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#if ! __IBMCPP_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
#if ! __C99_MACRO_WITH_VA_ARGS
|
||||
# define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
|
@ -1,262 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Darin Adler 2001 - 2002.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Beman Dawes 2002 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
//
|
||||
// Microsoft Visual C++ compiler setup:
|
||||
//
|
||||
// We need to be careful with the checks in this file, as contrary
|
||||
// to popular belief there are versions with _MSC_VER with the final
|
||||
// digit non-zero (mainly the MIPS cross compiler).
|
||||
//
|
||||
// So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX.
|
||||
// No other comparisons (==, >, or <=) are safe.
|
||||
//
|
||||
|
||||
#define BOOST_MSVC _MSC_VER
|
||||
|
||||
//
|
||||
// Helper macro BOOST_MSVC_FULL_VER for use in Boost code:
|
||||
//
|
||||
#if _MSC_FULL_VER > 100000000
|
||||
# define BOOST_MSVC_FULL_VER _MSC_FULL_VER
|
||||
#else
|
||||
# define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
|
||||
#endif
|
||||
|
||||
// Attempt to suppress VC6 warnings about the length of decorated names (obsolete):
|
||||
#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
|
||||
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Visual C++ prior to version 7.1:
|
||||
#if _MSC_VER < 1310
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
|
||||
#if _MSC_FULL_VER < 180020827
|
||||
# define BOOST_NO_FENV_H
|
||||
#endif
|
||||
|
||||
#if _MSC_VER < 1400
|
||||
// although a conforming signature for swprint exists in VC7.1
|
||||
// it appears not to actually work:
|
||||
# define BOOST_NO_SWPRINTF
|
||||
// Our extern template tests also fail for this compiler:
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
// Variadic macros do not exist for VC7.1 and lower
|
||||
# define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
|
||||
#if _MSC_VER < 1500 // 140X == VC++ 8.0
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
#endif
|
||||
|
||||
#if _MSC_VER < 1600 // 150X == VC++ 9.0
|
||||
// A bug in VC9:
|
||||
# define BOOST_NO_ADL_BARRIER
|
||||
#endif
|
||||
|
||||
|
||||
// MSVC (including the latest checked version) has not yet completely
|
||||
// implemented value-initialization, as is reported:
|
||||
// "VC++ does not value-initialize members of derived classes without
|
||||
// user-declared constructor", reported in 2009 by Sylvester Hesp:
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/484295
|
||||
// "Presence of copy constructor breaks member class initialization",
|
||||
// reported in 2009 by Alex Vakulenko:
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/499606
|
||||
// "Value-initialization in new-expression", reported in 2005 by
|
||||
// Pavel Kuznetsov (MetaCommunications Engineering):
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/100744
|
||||
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
||||
// (Niels Dekker, LKEB, May 2010)
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
|
||||
#ifndef _NATIVE_WCHAR_T_DEFINED
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
#endif
|
||||
|
||||
//
|
||||
// check for exception handling support:
|
||||
#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// __int64 support:
|
||||
//
|
||||
#define BOOST_HAS_MS_INT64
|
||||
#if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400)
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
#else
|
||||
# define BOOST_NO_LONG_LONG
|
||||
#endif
|
||||
#if (_MSC_VER >= 1400) && !defined(_DEBUG)
|
||||
# define BOOST_HAS_NRVO
|
||||
#endif
|
||||
//
|
||||
// disable Win32 API's if compiler extensions are
|
||||
// turned off:
|
||||
//
|
||||
#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)
|
||||
# define BOOST_DISABLE_WIN32
|
||||
#endif
|
||||
#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)
|
||||
# define BOOST_NO_RTTI
|
||||
#endif
|
||||
|
||||
//
|
||||
// TR1 features:
|
||||
//
|
||||
#if _MSC_VER >= 1700
|
||||
// # define BOOST_HAS_TR1_HASH // don't know if this is true yet.
|
||||
// # define BOOST_HAS_TR1_TYPE_TRAITS // don't know if this is true yet.
|
||||
# define BOOST_HAS_TR1_UNORDERED_MAP
|
||||
# define BOOST_HAS_TR1_UNORDERED_SET
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See above for BOOST_NO_LONG_LONG
|
||||
|
||||
// C++ features supported by VC++ 10 (aka 2010)
|
||||
//
|
||||
#if _MSC_VER < 1600
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
#endif // _MSC_VER < 1600
|
||||
|
||||
#if _MSC_VER >= 1600
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
// C++11 features supported by VC++ 11 (aka 2012)
|
||||
//
|
||||
#if _MSC_VER < 1700
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif // _MSC_VER < 1700
|
||||
|
||||
// C++11 features supported by VC++ 12 (aka 2013).
|
||||
//
|
||||
#if _MSC_FULL_VER < 180020827
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif
|
||||
|
||||
// C++11 features not supported by any versions
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
|
||||
//
|
||||
// prefix and suffix headers:
|
||||
//
|
||||
#ifndef BOOST_ABI_PREFIX
|
||||
# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp"
|
||||
#endif
|
||||
#ifndef BOOST_ABI_SUFFIX
|
||||
# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp"
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
// TODO:
|
||||
// these things are mostly bogus. 1200 means version 12.0 of the compiler. The
|
||||
// artificial versions assigned to them only refer to the versions of some IDE
|
||||
// these compilers have been shipped with, and even that is not all of it. Some
|
||||
// were shipped with freely downloadable SDKs, others as crosscompilers in eVC.
|
||||
// IOW, you can't use these 'versions' in any sensible way. Sorry.
|
||||
# if defined(UNDER_CE)
|
||||
# if _MSC_VER < 1400
|
||||
// Note: I'm not aware of any CE compiler with version 13xx
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
|
||||
# endif
|
||||
# elif _MSC_VER < 1500
|
||||
# define BOOST_COMPILER_VERSION evc8
|
||||
# elif _MSC_VER < 1600
|
||||
# define BOOST_COMPILER_VERSION evc9
|
||||
# elif _MSC_VER < 1700
|
||||
# define BOOST_COMPILER_VERSION evc10
|
||||
# elif _MSC_VER < 1800
|
||||
# define BOOST_COMPILER_VERSION evc11
|
||||
# elif _MSC_VER < 1900
|
||||
# define BOOST_COMPILER_VERSION evc12
|
||||
# else
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
|
||||
# endif
|
||||
# endif
|
||||
# else
|
||||
# if _MSC_VER < 1310
|
||||
// Note: Versions up to 7.0 aren't supported.
|
||||
# define BOOST_COMPILER_VERSION 5.0
|
||||
# elif _MSC_VER < 1300
|
||||
# define BOOST_COMPILER_VERSION 6.0
|
||||
# elif _MSC_VER < 1310
|
||||
# define BOOST_COMPILER_VERSION 7.0
|
||||
# elif _MSC_VER < 1400
|
||||
# define BOOST_COMPILER_VERSION 7.1
|
||||
# elif _MSC_VER < 1500
|
||||
# define BOOST_COMPILER_VERSION 8.0
|
||||
# elif _MSC_VER < 1600
|
||||
# define BOOST_COMPILER_VERSION 9.0
|
||||
# elif _MSC_VER < 1700
|
||||
# define BOOST_COMPILER_VERSION 10.0
|
||||
# elif _MSC_VER < 1800
|
||||
# define BOOST_COMPILER_VERSION 11.0
|
||||
# elif _MSC_VER < 1900
|
||||
# define BOOST_COMPILER_VERSION 12.0
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION _MSC_VER
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||
#endif
|
||||
|
||||
//
|
||||
// last known and checked version is 18.00.20827.3 (VC12 RC, aka 2013 RC):
|
||||
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 180020827)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
# pragma message("Unknown compiler version - please run the configure tests and report the results")
|
||||
# endif
|
||||
#endif
|
|
@ -1,28 +0,0 @@
|
|||
// (C) Copyright John Maddock 2008.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// The aim of this header is just to include <cmath> but to do
|
||||
// so in a way that does not result in recursive inclusion of
|
||||
// the Boost TR1 components if boost/tr1/tr1/cmath is in the
|
||||
// include search path. We have to do this to avoid circular
|
||||
// dependencies:
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_CMATH
|
||||
# define BOOST_CONFIG_CMATH
|
||||
|
||||
# ifndef BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_CONFIG_NO_CMATH_RECURSION
|
||||
# endif
|
||||
|
||||
# include <cmath>
|
||||
|
||||
# ifdef BOOST_CONFIG_NO_CMATH_RECURSION
|
||||
# undef BOOST_TR1_NO_RECURSION
|
||||
# undef BOOST_CONFIG_NO_CMATH_RECURSION
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -1,28 +0,0 @@
|
|||
// (C) Copyright John Maddock 2005.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// The aim of this header is just to include <complex> but to do
|
||||
// so in a way that does not result in recursive inclusion of
|
||||
// the Boost TR1 components if boost/tr1/tr1/complex is in the
|
||||
// include search path. We have to do this to avoid circular
|
||||
// dependencies:
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_COMPLEX
|
||||
# define BOOST_CONFIG_COMPLEX
|
||||
|
||||
# ifndef BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_CONFIG_NO_COMPLEX_RECURSION
|
||||
# endif
|
||||
|
||||
# include <complex>
|
||||
|
||||
# ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION
|
||||
# undef BOOST_TR1_NO_RECURSION
|
||||
# undef BOOST_CONFIG_NO_COMPLEX_RECURSION
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -1,28 +0,0 @@
|
|||
// (C) Copyright John Maddock 2005.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// The aim of this header is just to include <functional> but to do
|
||||
// so in a way that does not result in recursive inclusion of
|
||||
// the Boost TR1 components if boost/tr1/tr1/functional is in the
|
||||
// include search path. We have to do this to avoid circular
|
||||
// dependencies:
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_FUNCTIONAL
|
||||
# define BOOST_CONFIG_FUNCTIONAL
|
||||
|
||||
# ifndef BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
|
||||
# endif
|
||||
|
||||
# include <functional>
|
||||
|
||||
# ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
|
||||
# undef BOOST_TR1_NO_RECURSION
|
||||
# undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -1,28 +0,0 @@
|
|||
// (C) Copyright John Maddock 2005.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// The aim of this header is just to include <memory> but to do
|
||||
// so in a way that does not result in recursive inclusion of
|
||||
// the Boost TR1 components if boost/tr1/tr1/memory is in the
|
||||
// include search path. We have to do this to avoid circular
|
||||
// dependencies:
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_MEMORY
|
||||
# define BOOST_CONFIG_MEMORY
|
||||
|
||||
# ifndef BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_CONFIG_NO_MEMORY_RECURSION
|
||||
# endif
|
||||
|
||||
# include <memory>
|
||||
|
||||
# ifdef BOOST_CONFIG_NO_MEMORY_RECURSION
|
||||
# undef BOOST_TR1_NO_RECURSION
|
||||
# undef BOOST_CONFIG_NO_MEMORY_RECURSION
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -1,28 +0,0 @@
|
|||
// (C) Copyright John Maddock 2005.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// The aim of this header is just to include <utility> but to do
|
||||
// so in a way that does not result in recursive inclusion of
|
||||
// the Boost TR1 components if boost/tr1/tr1/utility is in the
|
||||
// include search path. We have to do this to avoid circular
|
||||
// dependencies:
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_UTILITY
|
||||
# define BOOST_CONFIG_UTILITY
|
||||
|
||||
# ifndef BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_CONFIG_NO_UTILITY_RECURSION
|
||||
# endif
|
||||
|
||||
# include <utility>
|
||||
|
||||
# ifdef BOOST_CONFIG_NO_UTILITY_RECURSION
|
||||
# undef BOOST_TR1_NO_RECURSION
|
||||
# undef BOOST_CONFIG_NO_UTILITY_RECURSION
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -1,33 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// IBM/Aix specific config options:
|
||||
|
||||
#define BOOST_PLATFORM "IBM Aix"
|
||||
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#define BOOST_HAS_NL_TYPES_H
|
||||
#define BOOST_HAS_NANOSLEEP
|
||||
#define BOOST_HAS_CLOCK_GETTIME
|
||||
|
||||
// This needs support in "boost/cstdint.hpp" exactly like FreeBSD.
|
||||
// This platform has header named <inttypes.h> which includes all
|
||||
// the things needed.
|
||||
#define BOOST_HAS_STDINT_H
|
||||
|
||||
// Threading API's:
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_PTHREAD_DELAY_NP
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
//#define BOOST_HAS_PTHREAD_YIELD
|
||||
|
||||
// boilerplate code:
|
||||
#include <boost/config/posix_features.hpp>
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
// (C) Copyright John Maddock 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
#define BOOST_PLATFORM "AmigaOS"
|
||||
|
||||
#define BOOST_DISABLE_THREADS
|
||||
#define BOOST_NO_CWCHAR
|
||||
#define BOOST_NO_STD_WSTRING
|
||||
#define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// BeOS specific config options:
|
||||
|
||||
#define BOOST_PLATFORM "BeOS"
|
||||
|
||||
#define BOOST_NO_CWCHAR
|
||||
#define BOOST_NO_CWCTYPE
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
|
||||
#define BOOST_HAS_BETHREADS
|
||||
|
||||
#ifndef BOOST_DISABLE_THREADS
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
// boilerplate code:
|
||||
#include <boost/config/posix_features.hpp>
|
||||
|
||||
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Darin Adler 2001.
|
||||
// (C) Copyright Douglas Gregor 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// generic BSD config options:
|
||||
|
||||
#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
|
||||
#error "This platform is not BSD"
|
||||
#endif
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
|
||||
#elif defined(__NetBSD__)
|
||||
#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
|
||||
#elif defined(__OpenBSD__)
|
||||
#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
|
||||
#elif defined(__DragonFly__)
|
||||
#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
|
||||
#endif
|
||||
|
||||
//
|
||||
// is this the correct version check?
|
||||
// FreeBSD has <nl_types.h> but does not
|
||||
// advertise the fact in <unistd.h>:
|
||||
//
|
||||
#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__)
|
||||
# define BOOST_HAS_NL_TYPES_H
|
||||
#endif
|
||||
|
||||
//
|
||||
// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>
|
||||
// and not in <unistd.h>
|
||||
//
|
||||
#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\
|
||||
|| defined(__OpenBSD__) || defined(__DragonFly__)
|
||||
# define BOOST_HAS_PTHREADS
|
||||
#endif
|
||||
|
||||
//
|
||||
// No wide character support in the BSD header files:
|
||||
//
|
||||
#if defined(__NetBSD__)
|
||||
#define __NetBSD_GCC__ (__GNUC__ * 1000000 \
|
||||
+ __GNUC_MINOR__ * 1000 \
|
||||
+ __GNUC_PATCHLEVEL__)
|
||||
// XXX - the following is required until c++config.h
|
||||
// defines _GLIBCXX_HAVE_SWPRINTF and friends
|
||||
// or the preprocessor conditionals are removed
|
||||
// from the cwchar header.
|
||||
#define _GLIBCXX_HAVE_SWPRINTF 1
|
||||
#endif
|
||||
|
||||
#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \
|
||||
|| (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) || defined(__DragonFly__))
|
||||
# define BOOST_NO_CWCHAR
|
||||
#endif
|
||||
//
|
||||
// The BSD <ctype.h> has macros only, no functions:
|
||||
//
|
||||
#if !defined(__OpenBSD__) || defined(__DragonFly__)
|
||||
# define BOOST_NO_CTYPE_FUNCTIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// thread API's not auto detected:
|
||||
//
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
#define BOOST_HAS_NANOSLEEP
|
||||
#define BOOST_HAS_GETTIMEOFDAY
|
||||
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
#define BOOST_HAS_SIGACTION
|
||||
|
||||
// boilerplate code:
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#include <boost/config/posix_features.hpp>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
// (C) Copyright John Maddock 2011.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// SGI Irix specific config options:
|
||||
|
||||
#define BOOST_PLATFORM "Cray"
|
||||
|
||||
// boilerplate code:
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#include <boost/config/posix_features.hpp>
|
||||
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// cygwin specific config options:
|
||||
|
||||
#define BOOST_PLATFORM "Cygwin"
|
||||
#define BOOST_HAS_DIRENT_H
|
||||
#define BOOST_HAS_LOG1P
|
||||
#define BOOST_HAS_EXPM1
|
||||
|
||||
//
|
||||
// Threading API:
|
||||
// See if we have POSIX threads, if we do use them, otherwise
|
||||
// revert to native Win threads.
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
|
||||
# define BOOST_HAS_PTHREADS
|
||||
# define BOOST_HAS_SCHED_YIELD
|
||||
# define BOOST_HAS_GETTIMEOFDAY
|
||||
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
# define BOOST_HAS_SIGACTION
|
||||
#else
|
||||
# if !defined(BOOST_HAS_WINTHREADS)
|
||||
# define BOOST_HAS_WINTHREADS
|
||||
# endif
|
||||
# define BOOST_HAS_FTIME
|
||||
#endif
|
||||
|
||||
//
|
||||
// find out if we have a stdint.h, there should be a better way to do this:
|
||||
//
|
||||
#include <sys/types.h>
|
||||
#ifdef _STDINT_H
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
/// Cygwin has no fenv.h
|
||||
#define BOOST_NO_FENV_H
|
||||
|
||||
// boilerplate code:
|
||||
#include <boost/config/posix_features.hpp>
|
||||
|
||||
//
|
||||
// Cygwin lies about XSI conformance, there is no nl_types.h:
|
||||
//
|
||||
#ifdef BOOST_HAS_NL_TYPES_H
|
||||
# undef BOOST_HAS_NL_TYPES_H
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue