1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-04-19 01:04:13 +03:00

conform: Add initial support for C23.

Hi Joseph,

As we discussed, this patch just makes C23 include every check that is
performed by C11.

I tested the commit by adding the ISO23 Make and Python variables to be
the same as ISO11.  So the only difference was compiling with -DISO23
instead of -DISO11.  And changed the temporary directories to instead
use the format f'/tmp/glibc-{self.standard}-{self.header}'.  Then I used
a shell script to run 'cmp' on each file in the ISO11 and ISO23
directories for each header to make sure they were the same.

-- 8< --

Make C23 checks include every test that is performed by C11.  Done by
running the following command:

find conform -name '*.h-data' | xargs sed -i \
  -e 's| !defined ISO11| !defined ISO11 \&\& !defined ISO23|g' \
  -e 's| defined ISO11| defined ISO11 \|\| defined ISO23|g' \
  -e 's|ifdef ISO11|if defined ISO11 \|\| defined ISO23|g' \
  -e 's|ifndef ISO11|if !defined ISO11 \&\& !defined ISO23|g'

Signed-off-by: Collin Funk <collin.funk1@gmail.com>
This commit is contained in:
Collin Funk 2025-04-04 20:48:25 -07:00 committed by Joseph Myers
parent e53eb952b9
commit d18213c699
82 changed files with 151 additions and 151 deletions

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined XPG42
type {struct aiocb}
// Test elements of the AIO control struct.

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4
// in_port_t should have exactly 16 bits
type in_port_t
// in_addr_t should have exactly 32 bits

View File

@ -1,9 +1,9 @@
macro assert
#ifdef ISO11
#if defined ISO11 || defined ISO23
macro static_assert
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif

View File

@ -74,7 +74,7 @@ function {long double complex} csqrtl (long double complex)
function {long double complex} ctanhl (long double complex)
function {long double complex} ctanl (long double complex)
# if defined ISO11
# if defined ISO11 || defined ISO23
macro-function {double complex} CMPLX (double, double)
macro-function {float complex} CMPLXF (float, float)
macro-function {long double complex} CMPLXL (long double, long double)

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
constant C_IRUSR == 0000400
constant C_IWUSR == 0000200
constant C_IXUSR == 0000100

View File

@ -16,7 +16,7 @@ function int toupper (int)
function int isblank (int)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function int isascii (int)
function int toascii (int)
@ -46,6 +46,6 @@ function int toupper_l (int, locale_t)
allow is[abcdefghijklmnopqrstuvwxyz]*
allow to[abcdefghijklmnopqrstuvwxyz]*
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
type DIR
type {struct dirent}

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined XPG42
macro RTLD_LAZY
macro RTLD_NOW
macro RTLD_GLOBAL

View File

@ -7,7 +7,7 @@ macro-int-constant ERANGE {int} > 0
// variable int errno
allow errno
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
macro-int-constant E2BIG {int} > 0
macro-int-constant EACCES {int} > 0
# if !defined POSIX

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
constant F_DUPFD
constant F_GETFD
constant F_SETFD

View File

@ -30,7 +30,7 @@ function int feholdexcept (fenv_t*)
function int fesetenv (const fenv_t*)
function int feupdateenv (const fenv_t *)
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif
#endif

View File

@ -43,7 +43,7 @@ macro-int-constant DECIMAL_DIG >= 10
macro-int-constant FLT_EVAL_METHOD
#endif
#if defined ISO11
#if defined ISO11 || defined ISO23
macro-int-constant DBL_HAS_SUBNORM
macro-int-constant FLT_HAS_SUBNORM
macro-int-constant LDBL_HAS_SUBNORM
@ -57,6 +57,6 @@ macro-constant FLT_TRUE_MIN <= 1E-37
macro-constant LDBL_TRUE_MIN <= 1E-37
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
macro MM_HARD
constant MM_HARD

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
constant FNM_NOMATCH
constant FNM_PATHNAME
constant FNM_PERIOD

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
# ifndef XPG4
type {struct FTW}
element {struct FTW} int base

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
#ifdef POSIX
# define size_t __size_t
#endif

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
#ifdef POSIX
# define gid_t __gid_t
#endif

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
type iconv_t
# if defined XOPEN2K8 || defined POSIX2008
type size_t

View File

@ -11,7 +11,7 @@ macro or_eq
macro xor
macro xor_eq
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif
#endif

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
constant CODESET
constant D_T_FMT
constant D_FMT

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
function {char*} basename (char*)
function {char*} dirname (char*)

View File

@ -20,13 +20,13 @@ macro-int-constant UINT_MAX {unsigned int} >= 4294967295U
macro-int-constant LONG_MAX {long int} >= 2147483647L
macro-int-constant LONG_MIN {long int} <= -2147483647L
macro-int-constant ULONG_MAX {unsigned long int} >= 4294967295UL
#if defined ISO99 || defined ISO11 || defined XOPEN2K8 || defined POSIX2008
#if defined ISO99 || defined ISO11 || defined ISO23 || defined XOPEN2K8 || defined POSIX2008
macro-int-constant LLONG_MIN {long long int} <= -9223372036854775807ll
macro-int-constant LLONG_MAX {long long int} >= 9223372036854775807ll
macro-int-constant ULLONG_MAX {unsigned long long int} >= 18446744073709551615ull
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
// if these values exist, we should check the minimal value
allow AIO_LISTIO_MAX
allow AIO_MAX

View File

@ -31,7 +31,7 @@ macro-constant NULL == 0
macro-int-constant LC_ALL
macro-int-constant LC_COLLATE
macro-int-constant LC_CTYPE
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
macro-int-constant LC_MESSAGES
#endif
macro-int-constant LC_MONETARY
@ -62,7 +62,7 @@ function locale_t uselocale (locale_t)
#endif
allow LC_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif
#if defined XOPEN2K8 || defined POSIX2008

View File

@ -21,7 +21,7 @@ type double_t
function int isnan (double)
# endif
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX2008
constant M_E
constant M_LOG2E
constant M_LOG10E
@ -104,7 +104,7 @@ function double gamma (double)
#endif
#if !defined ISO && !defined POSIX
function double hypot (double, double)
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function double j0 (double)
function double j1 (double)
function double jn (int, double)
@ -113,7 +113,7 @@ function double lgamma (double)
# if !defined XPG4 && !defined XPG42 && !defined UNIX98
function double tgamma (double)
# endif
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function double y0 (double)
function double y1 (double)
function double yn (int, double)
@ -157,7 +157,7 @@ function double nan (const char*)
# endif
# endif
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
// variable signgam
allow signgam
# endif
@ -327,7 +327,7 @@ allow tanl
allow tanhl
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif
#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
type size_t
type ssize_t
# if defined XOPEN2K8 || defined POSIX2008

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined XPG42
// should test for not an array type.
type mqd_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
type datum
element datum {void*} dptr
element datum size_t dsize

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
type {struct if_nameindex}
element {struct if_nameindex} {unsigned int} if_index

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4
optional-type in_port_t
optional-type in_addr_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4
type in_port_t
type in_addr_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
type nl_catd
type nl_item

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4
type {struct pollfd}
element {struct pollfd} int fd
element {struct pollfd} {short int} events

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined XPG42
constant PTHREAD_CANCEL_ASYNCHRONOUS
constant PTHREAD_CANCEL_ENABLE
constant PTHREAD_CANCEL_DEFERRED

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
#ifdef POSIX
# define uid_t __uid_t
# define gid_t __gid_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
type regex_t
element regex_t size_t re_nsub

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined XPG42
# if defined POSIX || defined UNIX98
# include "time.h-data"
# else

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
type ENTRY
type {struct entry}
element {struct entry} {char*} key

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined XPG42
type sem_t
constant SEM_FAILED

View File

@ -1,10 +1,10 @@
type jmp_buf
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
type sigjmp_buf
#endif
function void longjmp (jmp_buf, int)
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
function void siglongjmp (sigjmp_buf, int)
# if !defined POSIX && !defined POSIX2008
function void _longjmp (jmp_buf, int)
@ -12,13 +12,13 @@ function void _longjmp (jmp_buf, int)
#endif
macro-function int setjmp (jmp_buf)
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
macro-function int sigsetjmp (sigjmp_buf, int)
# if !defined POSIX && !defined POSIX2008
macro-function int _setjmp (jmp_buf)
# endif
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif

View File

@ -1,15 +1,15 @@
macro-constant SIG_DFL {void(*)(int)}
macro-constant SIG_ERR {void(*)(int)}
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
macro-constant SIG_HOLD {void(*)(int)}
#endif
macro-constant SIG_IGN {void(*)(int)}
type sig_atomic_t
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
type sigset_t
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
type pid_t
#elif defined POSIX
# define pid_t __pid_t
@ -68,7 +68,7 @@ macro-int-constant SIGTERM {int} > 0
function void (*signal (int, void(*)(int)))(int)
function int raise (int)
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
macro-int-constant SIGALRM {int} > 0
macro-int-constant SIGHUP {int} > 0
macro-int-constant SIGKILL {int} > 0

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
type posix_spawnattr_t
type posix_spawn_file_actions_t
# if defined XOPEN2K8 || defined POSIX2008

View File

@ -1,4 +1,4 @@
#if defined ISO11
#if defined ISO11 || defined ISO23
macro alignas
macro alignof
macro-int-constant __alignas_is_defined {int} == 1

View File

@ -5,10 +5,10 @@ macro va_start
macro va_arg
macro va_end
#if defined ISO99 || defined ISO11 || defined XOPEN2K || defined POSIX2008 || defined XOPEN2K8
#if defined ISO99 || defined ISO11 || defined ISO23 || defined XOPEN2K || defined POSIX2008 || defined XOPEN2K8
macro va_copy
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif

View File

@ -4,7 +4,7 @@ macro-int-constant true {int} == 1
macro-int-constant false {int} == 0
macro-int-constant __bool_true_false_are_defined {int} == 1
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif
#endif

View File

@ -6,10 +6,10 @@ type ptrdiff_t
type wchar_t
type size_t
#if defined ISO11
#if defined ISO11 || defined ISO23
type max_align_t
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif

View File

@ -6,7 +6,7 @@ macro-int-constant _IOFBF
macro-int-constant _IOLBF
macro-int-constant _IONBF
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
constant L_ctermid
# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
# ifdef POSIX
@ -28,7 +28,7 @@ macro-int-constant EOF < 0
macro-constant NULL == 0
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
constant P_tmpdir
#endif
@ -38,7 +38,7 @@ macro stderr {FILE *}
type FILE
type fpos_t
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
type va_list
#else
#define va_list __gnuc_va_list
@ -50,7 +50,7 @@ type ssize_t
#endif
function void clearerr (FILE*)
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
function {char*} ctermid (char*)
# if defined XPG4 || defined XPG42 || defined UNIX98
function {char*} cuserid (char*)
@ -60,7 +60,7 @@ function {char*} cuserid (char*)
function int dprintf (int, const char*, ...)
#endif
function int fclose (FILE*)
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
function {FILE*} fdopen (int, const char*)
#endif
function int feof (FILE*)
@ -69,7 +69,7 @@ function int fflush (FILE*)
function int fgetc (FILE*)
function int fgetpos (FILE*, fpos_t*)
function {char*} fgets (char*, int, FILE*)
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
function int fileno (FILE*)
#endif
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
@ -112,7 +112,7 @@ function ssize_t getline (char**, size_t*, FILE*)
#if defined XPG4 || defined XPG42 || defined UNIX98
function int getopt (int, char *const[], const char *)
#endif
#if !defined ISO11
#if !defined ISO11 && !defined ISO23
function {char*} gets (char*)
#endif
#if defined XPG4 || defined XPG42 || defined UNIX98
@ -121,11 +121,11 @@ function int getw (FILE*)
#if defined XOPEN2K8 || defined POSIX2008
function {FILE*} open_memstream (char**, size_t*)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
function int pclose (FILE*)
#endif
function void perror (const char*)
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
function {FILE*} popen (const char*, const char*)
#endif
function int printf (const char*, ...)
@ -178,7 +178,7 @@ function int vsprintf (char*, const char*, va_list)
function int vsscanf (const char*, const char*, va_list)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
variable {char*} optarg
variable int opterr

View File

@ -12,7 +12,7 @@ macro-constant NULL == 0
macro-int-constant RAND_MAX >= 32767
macro MB_CUR_MAX
#if defined ISO99 || defined ISO11 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
#if defined ISO99 || defined ISO11 || defined ISO23 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
type lldiv_t
element lldiv_t {long long} quot
element lldiv_t {long long} rem
@ -20,7 +20,7 @@ element lldiv_t {long long} rem
type size_t
type wchar_t
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
constant WNOHANG
constant WUNTRACED
@ -35,16 +35,16 @@ macro WTERMSIG
#if !defined ISO && !defined XPG4 && !defined XPG42 && !defined UNIX98 && !defined POSIX
function void _Exit (int)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function long a64l (const char*)
#endif
function void abort (void)
function int abs (int)
#if defined ISO11
#if defined ISO11 || defined ISO23
function {void *} aligned_alloc (size_t, size_t)
#endif
function int atexit (void(*)(void))
#if defined ISO11
#if defined ISO11 || defined ISO23
function int at_quick_exit (void (*) (void))
#endif
function double atof (const char*)
@ -56,13 +56,13 @@ function {long long} atoll (const char*)
function {void*} bsearch (const void*, const void*, size_t, size_t, int(*)(const void*, const void*))
function {void*} calloc (size_t, size_t)
function div_t div (int, int)
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function double drand48 (void)
#endif
#if defined XPG42 || defined UNIX98 || defined XOPEN2K
function {char*} ecvt (double, int, int*, int*)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function double erand48 (unsigned short int[3])
#endif
function void exit (int)
@ -74,21 +74,21 @@ function void free (void*)
function {char*} gcvt (double, int, char*)
#endif
function {char*} getenv (const char*)
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX
function int getsubopt (char**, char *const*, char**)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function int grantpt (int)
function {char*} initstate (unsigned int, char*, size_t)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function {long int} jrand48 (unsigned short int[3])
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {char*} l64a (long)
#endif
function {long int} labs (long int)
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function void lcong48 (unsigned short int[7])
#endif
function ldiv_t ldiv (long int, long int)
@ -96,7 +96,7 @@ function ldiv_t ldiv (long int, long int)
function {long long} llabs (long long)
function lldiv_t lldiv (long long, long long)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function {long int} lrand48 (void)
#endif
function {void*} malloc (size_t)
@ -106,13 +106,13 @@ function int mbtowc (wchar_t*, const char*, size_t)
#if defined XOPEN2K8 || defined POSIX2008
function {char*} mkdtemp (char*)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
function {char*} mktemp (char*)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX
function int mkstemp (char*)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function {long int} mrand48 (void)
function {long int} nrand48 (unsigned short int[3])
#endif
@ -122,41 +122,41 @@ function int posix_memalign (void**, size_t, size_t)
#if defined XOPEN2K || defined XOPEN2K8
function int posix_openpt (int)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {char*} ptsname (int)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function int putenv (char*)
#endif
function void qsort (void*, size_t, size_t, int(*)(const void*, const void*))
#if defined ISO11
#if defined ISO11 || defined ISO23
function void quick_exit (int)
#endif
function int rand (void)
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function int rand_r (unsigned int*)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function long random (void)
#endif
function {void*} realloc (void*, size_t)
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {char*} realpath (const char*, char*)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function {unsigned short int*} seed48 (unsigned short int[3])
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int setenv (const char*, const char*, int)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {char*} setstate (char*)
#endif
function void srand (unsigned int)
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function void srand48 (long int)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function void srandom (unsigned)
#endif
function double strtod (const char*, char**)
@ -174,10 +174,10 @@ function int system (const char*)
#if defined XPG42 || defined UNIX98
function int ttyslot (void)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function int unlockpt (int)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int unsetenv (const char*)
#endif
#if defined XPG42 || defined UNIX98
@ -186,7 +186,7 @@ function {void*} valloc (size_t)
function size_t wcstombs (char*, const wchar_t*, size_t)
function int wctomb (char*, wchar_t)
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
allow-header stddef.h
allow-header limits.h
allow-header math.h
@ -194,6 +194,6 @@ allow-header sys/wait.h
#endif
allow str[abcdefghijklmnopqrstuvwxyz]*
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif

View File

@ -1,3 +1,3 @@
#if defined ISO11
#if defined ISO11 || defined ISO23
macro noreturn
#endif

View File

@ -5,7 +5,7 @@ type size_t
type locale_t
#endif
#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function {void*} memccpy (void*, const void*, int, size_t)
#endif
function {void*} memchr (const void*, int, size_t)
@ -27,7 +27,7 @@ function int strcoll_l (const char*, const char*, locale_t)
#endif
function {char*} strcpy (char*, const char*)
function size_t strcspn (const char*, const char*)
#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {char*} strdup (const char*)
#endif
function {char*} strerror (int)
@ -61,13 +61,13 @@ function size_t strxfrm (char*, const char*, size_t)
function size_t strxfrm_l (char*, const char*, size_t, locale_t)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
allow-header stddef.h
#endif
allow str[abcdefghijklmnopqrstuvwxyz]*
allow mem[abcdefghijklmnopqrstuvwxyz]*
allow wcs[abcdefghijklmnopqrstuvwxyz]*
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4
# if !defined XOPEN2K8 && !defined POSIX2008
function int bcmp (const void*, const void*, size_t)
function void bcopy (const void*, void*, size_t)

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
type {struct ipc_perm}
// Bug 23082: uid/gid/cuid/cgid/mode have type unsigned short instead of uid_t and mode_t.

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4
constant PROT_READ
constant PROT_WRITE
constant PROT_EXEC

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
type {struct msqid_ds}
type msgqnum_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
constant PRIO_PROCESS
constant PRIO_PGRP
constant PRIO_USER

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
type time_t
type suseconds_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
constant SEM_UNDO
constant GETNCNT

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
constant SHM_RDONLY
symbol SHMLBA
constant SHM_RND

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4
type socklen_t
type sa_family_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
#if !defined POSIX && !defined POSIX2008 && !defined XPG4 && !defined XPG42
type blkcnt_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4
type {struct statvfs}
element {struct statvfs} {unsigned long} f_bsize

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
type {struct timeval}
element {struct timeval} time_t tv_sec

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined XOPEN2K8
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined XOPEN2K8
type {struct timeb}
element {struct timeb} time_t time

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
type {struct tms}
element {struct tms} clock_t tms_utime

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
#if !defined POSIX
# if !defined XPG4 && !defined XPG42
type blkcnt_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined POSIX2008
type {struct iovec}
element {struct iovec} {void*} iov_base

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4
type {struct sockaddr_un}
element {struct sockaddr_un} sa_family_t sun_family

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
type {struct utsname}
element {struct utsname} char sysname []

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
#ifdef POSIX
# define pid_t __pid_t
#endif

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
constant LOG_PID
constant LOG_CONS
constant LOG_NDELAY

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
macro-str TMAGIC "ustar"
macro-int-constant TMAGLEN {int} == 6
macro-str TVERSION "00"

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
type cc_t
type speed_t
type tcflag_t

View File

@ -1,4 +1,4 @@
#if defined ISO11
#if defined ISO11 || defined ISO23
macro ONCE_FLAG_INIT
macro thread_local

View File

@ -1,7 +1,7 @@
macro-constant NULL == 0
macro CLOCKS_PER_SEC {clock_t}
#ifdef ISO11
#if defined ISO11 || defined ISO23
macro-int-constant TIME_UTC > 0
#endif
@ -38,11 +38,11 @@ function {char*} ctime (const time_t*)
function {struct tm*} gmtime (const time_t*)
function {struct tm*} localtime (const time_t*)
function size_t strftime (char*, size_t, const char*, const struct tm*)
#if defined ISO11
#if defined ISO11 || defined ISO23
function int timespec_get (struct timespec *, int)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
symbol CLK_TCK
# endif

View File

@ -1,4 +1,4 @@
#if defined ISO11
#if defined ISO11 || defined ISO23
type mbstate_t
type size_t
type char16_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined XOPEN2K8
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined XOPEN2K8
type mcontext_t
type ucontext_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
constant UL_GETFSIZE
constant UL_SETFSIZE

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
#ifdef POSIX
# define uid_t __uid_t
# define gid_t __gid_t

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
#ifdef POSIX
# define time_t __time_t
#endif

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
type {struct utmpx}
element {struct utmpx} char ut_user []

View File

@ -1,11 +1,11 @@
#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42
type wchar_t
type wint_t
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX2008
type wctype_t
# endif
type mbstate_t
# if !defined ISO99 && !defined ISO11
# if !defined ISO99 && !defined ISO11 && !defined ISO23
type FILE
# else
# define FILE __FILE
@ -15,7 +15,7 @@ type size_t
type locale_t
# endif
tag {struct tm}
# if !defined ISO99 && !defined ISO11 && !defined UNIX98
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined UNIX98
type va_list
# else
# define va_list __gnuc_va_list
@ -24,7 +24,7 @@ type va_list
function wint_t btowc (int)
function int fwprintf (FILE*, const wchar_t*, ...)
function int fwscanf (FILE*, const wchar_t*, ...)
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX2008
function int iswalnum (wint_t)
function int iswalpha (wint_t)
function int iswcntrl (wint_t)
@ -59,7 +59,7 @@ function wint_t putwc (wchar_t, FILE*)
function wint_t putwchar (wchar_t)
function int swprintf (wchar_t*, size_t, const wchar_t*, ...)
function int swscanf (const wchar_t*, const wchar_t*, ...)
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX2008
function wint_t towlower (wint_t)
function wint_t towupper (wint_t)
# endif
@ -132,7 +132,7 @@ function {unsigned long long int} wcstoull (const wchar_t*, wchar_t**, int)
# if defined UNIX98 || defined XOPEN2K
function {wchar_t*} wcswcs (const wchar_t*, const wchar_t*)
# endif
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
function int wcswidth (const wchar_t*, size_t)
# endif
function size_t wcsxfrm (wchar_t*, const wchar_t*, size_t)
@ -140,7 +140,7 @@ function size_t wcsxfrm (wchar_t*, const wchar_t*, size_t)
function size_t wcsxfrm_l (wchar_t*, const wchar_t*, size_t, locale_t)
# endif
function int wctob (wint_t)
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX2008
function wctype_t wctype (const char*)
function int wcwidth (wchar_t)
# endif
@ -157,7 +157,7 @@ macro-int-constant WCHAR_MAX {promoted:wchar_t} >= 127
macro-constant WEOF {wint_t}
macro-constant NULL == 0
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow-header ctype.h
allow-header stdio.h
allow-header stdarg.h
@ -168,7 +168,7 @@ allow-header time.h
#endif
allow wcs[abcdefghijklmnopqrstuvwxyz]*
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif
#endif

View File

@ -49,7 +49,7 @@ function wctype_t wctype_l (const char*, locale_t)
macro-constant WEOF {wint_t}
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow-header ctype.h
allow-header stdio.h
allow-header stdarg.h
@ -62,7 +62,7 @@ allow-header wchar.h
allow is[abcdefghijklmnopqrstuvwxyz]*
allow to[abcdefghijklmnopqrstuvwxyz]*
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif
#endif

View File

@ -1,4 +1,4 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
type wordexp_t
element wordexp_t size_t we_wordc