From a483863fc136e1b066cb7886f0426df5e5dee73e Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 19 Nov 2012 22:20:44 +0000 Subject: [PATCH] conformtest: Clean up expectations for POSIX for various headers. --- ChangeLog | 104 ++++++++++++++++++++++++++++ conform/data/cpio.h-data | 2 +- conform/data/glob.h-data | 2 +- conform/data/limits.h-data | 153 +++++++++++++++++++++++++----------------- conform/data/regex.h-data | 1 + conform/data/stdio.h-data | 12 +++- conform/data/sys/times.h-data | 2 +- conform/data/wordexp.h-data | 1 + 8 files changed, 211 insertions(+), 66 deletions(-) diff --git a/ChangeLog b/ChangeLog index 865f359..26a6baf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,109 @@ 2012-11-19 Joseph Myers + * conform/data/cpio.h-data [POSIX]: Disable whole file. + * conform/data/glob.h-data [POSIX] (GLOB_NOSYS): Do not expect. + * conform/data/limits.h-data [!ISO && !ISO99 && !ISO11] + (AIO_LIST_MAX): Change to AIO_LISTIO_MAX. + [!ISO && !ISO99 && !ISO11] (ATEXT_MAX): Remove. + [!ISO && !ISO99 && !ISO11 && !POSIX && !XPG3] (ATEXIT_MAX): Allow. + [POSIX || POSIX2008 || XPG3] (IOV_MAX): Do not allow. + [POSIX || POSIX2008 || XPG3] (_XOPEN_IOV_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (MQ_PRIO_MAX): Allow. + [!ISO && !ISO99 && !ISO11] (RE_DUP_MAX): Remove duplicate entry. + [POSIX || XPG3 || XPG4 || UNIX98] (SS_REPL_MAX): Do not allow. + [POSIX || XPG3 || XPG4 || UNIX98] (SYMLOOP_MAX): Likewise. + [POSIX || XPG3 || XPG4] (FILESIZEBITS): Likewise. + [POSIX || XPG3 || XPG4 || UNIX98] (POSIX_ALLOC_SIZE_MIN): + Likewise. + [POSIX || XPG3 || XPG4 || UNIX98] (POSIX_REC_INCR_XFER_SIZE): + Likewise. + [POSIX || XPG3 || XPG4 || UNIX98] (POSIX_REC_MAX_XFER_SIZE): + Likewise. + [POSIX || XPG3 || XPG4 || UNIX98] (POSIX_REC_XFER_ALIGN): + Likewise. + [POSIX || XPG3 || XPG4 || UNIX98] (SYMLINK_MAX): Likewise. + [POSIX || XPG3 || XPG4 || UNIX98] (_POSIX_SS_REPL_MAX): Likewise. + [POSIX || XPG3 || XPG4 || UNIX98] (_POSIX_SYMLINK_MAX): Likewise. + [POSIX || XPG3 || XPG4 || UNIX98] (_POSIX_SYMLOOP_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (BC_BASE_MAX): Use macro-constant. + Specify lower bound on value. + [!ISO && !ISO99 && !ISO11] (BC_DIM_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (BC_SCALE_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (BC_STRING_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (COLL_WEIGHTS_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (EXPR_NEST_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (RE_DUP_MAX): Likewise + [POSIX || XPG3 || XPG4] (CHARCLASS_NAME_MAX): Do not allow. + [!ISO && !ISO99 && !ISO11] (_POSIX_CLOCKRES_MIN): Specify exact + value. + [!ISO && !ISO99 && !ISO11] (_POSIX_AIO_LISTIO_MAX): Do not specify + as optional. + [!ISO && !ISO99 && !ISO11] (_POSIX_AIO_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_ARG_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_CHILD_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_DELAYTIMER_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_LINK_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_LOGIN_NAME_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_MAX_CANON): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_MAX_INPUT): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_MQ_OPEN_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_MQ_PRIO_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_NAME_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_NGROUPS_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_OPEN_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_PATH_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_PIPE_BUF): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX2_RE_DUP_MAX): Remove duplicate + entry. + [!ISO && !ISO99 && !ISO11] (_POSIX_RTSIG_MAX): Do not specify as + optional. + [!ISO && !ISO99 && !ISO11] (_POSIX_SEM_NSEMS_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_SEM_VALUE_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_SIGQUEUE_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_SSIZE_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_STREAM_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_THREAD_DESTRUCTOR_ITERATIONS): + Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_THREAD_KEYS_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_THREAD_THREADS_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_TIMER_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_TTY_NAME_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX_TZNAME_MAX): Likewise. Give + value as 3 for [POSIX || XPG3 || XPG4 || UNIX98]. + [!ISO && !ISO99 && !ISO11] (_POSIX2_BC_BASE_MAX): Do not specify + as optional. + [!ISO && !ISO99 && !ISO11] (_POSIX2_BC_DIM_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX2_BC_SCALE_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX2_BC_STRING_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX2_CHARCLASS_NAME_MAX): + Likewise. Do not allow for [POSIX || XPG3 || XPG4 || UNIX98]. + [!ISO && !ISO99 && !ISO11] (_POSIX2_COLL_WEIGHTS_MAX): Do not + specify as optional. + [!ISO && !ISO99 && !ISO11] (_POSIX2_EXPR_NEST_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX2_LINE_MAX): Likewise. + [!ISO && !ISO99 && !ISO11] (_POSIX2_RE_DUP_MAX): Likewise. + [POSIX || POSIX2008 || XPG3] (_XOPEN_IOV_MAX): Do not allow. + [POSIX || XPG3] (NL_ARGMAX): Do not allow. + [XPG3] (NL_LANGMAX): Likewise. + [POSIX || XPG3] (NL_MSGMAX): Likewise. + [POSIX || XPG3] (NL_NMAX): Likewise. + [POSIX || XPG3] (NL_SETMAX): Likewise. + [POSIX || XPG3] (NL_TEXTMAX): Likewise. + [XPG3] (NZERO): Likewise. + [XPG4 || UNIX98] (TMP_MAX): Only enable for these conditions. + [POSIX || XPG3 || XPG4 || UNIX98] (*_MIN): Do not allow. + [!ISO && !ISO99 && !ISO11] (*_t): Allow. + * conform/data/regex.h-data [!ISO && !ISO99 && !ISO11] + (REG_ERANGE): Expect. + * conform/data/stdio.h-data [POSIX] (L_cuserid): Use + optional-constant. + [POSIX || XOPEN2K || XOPEN2K8 || POSIX2008] (getchar_unlocked): + Use (void) in prototype. + [POSIX] (*_t): Allow. + * conform/data/sys/times.h-data [POSIX]: Enable whole file. + * conform/data/wordexp.h-data [!ISO && !ISO99 && !ISO11] + (WRDE_BADVAL): Expect. + * conform/data/fcntl.h-data [XPG3 || XPG4] (O_DSYNC): Do not expect. [XPG3 || XPG4] (O_RSYNC): Likewise. diff --git a/conform/data/cpio.h-data b/conform/data/cpio.h-data index 4727770..ac7d40f 100644 --- a/conform/data/cpio.h-data +++ b/conform/data/cpio.h-data @@ -1,4 +1,4 @@ -#if !defined ISO && !defined ISO99 && !defined ISO11 +#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX constant C_IRUSR == 0000400 constant C_IWUSR == 0000200 constant C_IXUSR == 0000100 diff --git a/conform/data/glob.h-data b/conform/data/glob.h-data index fc2c7fe..eca8393 100644 --- a/conform/data/glob.h-data +++ b/conform/data/glob.h-data @@ -19,7 +19,7 @@ constant GLOB_NOSORT constant GLOB_ABORTED constant GLOB_NOMATCH constant GLOB_NOSPACE -# if !defined XOPEN2K8 && !defined POSIX2008 +# if !defined XOPEN2K8 && !defined POSIX2008 && !defined POSIX constant GLOB_NOSYS # endif diff --git a/conform/data/limits.h-data b/conform/data/limits.h-data index dec178a..726db1e 100644 --- a/conform/data/limits.h-data +++ b/conform/data/limits.h-data @@ -28,16 +28,21 @@ macro-int-constant ULLONG_MAX {unsigned long long int} >= 18446744073709551615ul #if !defined ISO && !defined ISO99 && !defined ISO11 // if these values exist, we should check the minimal value -allow AIO_LIST_MAX +allow AIO_LISTIO_MAX allow AIO_MAX allow AIO_PRIO_DELTA_MAX allow ARG_MAX -allow ATEXT_MAX +#if !defined POSIX && !defined XPG3 +allow ATEXIT_MAX +#endif allow CHILD_MAX allow DELAYTIMER_MAX +#if !defined POSIX && !defined POSIX2008 && !defined XPG3 allow IOV_MAX +#endif allow LOGIN_NAME_MAX allow MQ_OPEN_MAX +allow MQ_PRIO_MAX allow OPEN_MAX allow PAGESIZE #if !defined POSIX && !defined POSIX2008 @@ -47,98 +52,117 @@ allow PTHREAD_DESTRUCTOR_ITERATIONS allow PTHREAD_KEYS_MAX allow PTHREAD_STACK_MIN allow PTHREAD_THREADS_MAX -allow RE_DUP_MAX allow RTSIG_MAX allow SEM_NSEMS_MAX allow SEM_VALUE_MAX allow SIGQUEUE_MAX +#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 allow SS_REPL_MAX +#endif allow STREAM_MAX +#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 allow SYMLOOP_MAX +#endif allow TIMER_MAX allow TTY_NAME_MAX allow TZNAME_MAX +#if !defined POSIX && !defined XPG3 && !defined XPG4 allow FILESIZEBITS +#endif allow LINK_MAX allow MAX_CANON allow MAX_INPUT allow NAME_MAX allow PATH_MAX allow PIPE_BUF +#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 allow POSIX_ALLOC_SIZE_MIN allow POSIX_REC_INCR_XFER_SIZE allow POSIX_REC_MAX_XFER_SIZE allow POSIX_REC_XFER_ALIGN allow SYMLINK_MAX +#endif -macro BC_BASE_MAX -macro BC_DIM_MAX -macro BC_SCALE_MAX -macro BC_STRING_MAX +macro-constant BC_BASE_MAX >= _POSIX2_BC_BASE_MAX +macro-constant BC_DIM_MAX >= _POSIX2_BC_DIM_MAX +macro-constant BC_SCALE_MAX >= _POSIX2_BC_SCALE_MAX +macro-constant BC_STRING_MAX >= _POSIX2_BC_STRING_MAX +#if !defined POSIX && !defined XPG3 && !defined XPG4 macro CHARCLASS_NAME_MAX -macro COLL_WEIGHTS_MAX -macro EXPR_NEST_MAX -macro LINE_MAX +#endif +macro-constant COLL_WEIGHTS_MAX >= _POSIX2_COLL_WEIGHTS_MAX +macro-constant EXPR_NEST_MAX >= _POSIX2_EXPR_NEST_MAX +macro-constant LINE_MAX >= _POSIX2_LINE_MAX constant NGROUPS_MAX >= 8 -macro RE_DUP_MAX +macro-constant RE_DUP_MAX >= _POSIX2_RE_DUP_MAX -constant _POSIX_CLOCKRES_MIN <= 20000000 +constant _POSIX_CLOCKRES_MIN == 20000000 -optional-constant _POSIX_AIO_LISTIO_MAX == 2 -optional-constant _POSIX_AIO_MAX == 1 -optional-constant _POSIX_ARG_MAX == 4096 +constant _POSIX_AIO_LISTIO_MAX == 2 +constant _POSIX_AIO_MAX == 1 +constant _POSIX_ARG_MAX == 4096 #if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 -optional-constant _POSIX_CHILD_MAX == 25 +constant _POSIX_CHILD_MAX == 25 #else -optional-constant _POSIX_CHILD_MAX == 6 -#endif -optional-constant _POSIX_DELAYTIMER_MAX == 32 -optional-constant _POSIX_LINK_MAX == 8 -optional-constant _POSIX_LOGIN_NAME_MAX == 9 -optional-constant _POSIX_MAX_CANON == 255 -optional-constant _POSIX_MAX_INPUT == 255 -optional-constant _POSIX_MQ_OPEN_MAX == 8 -optional-constant _POSIX_MQ_PRIO_MAX == 32 -optional-constant _POSIX_NAME_MAX == 14 +constant _POSIX_CHILD_MAX == 6 +#endif +constant _POSIX_DELAYTIMER_MAX == 32 +constant _POSIX_LINK_MAX == 8 +constant _POSIX_LOGIN_NAME_MAX == 9 +constant _POSIX_MAX_CANON == 255 +constant _POSIX_MAX_INPUT == 255 +constant _POSIX_MQ_OPEN_MAX == 8 +constant _POSIX_MQ_PRIO_MAX == 32 +constant _POSIX_NAME_MAX == 14 #if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 -optional-constant _POSIX_NGROUPS_MAX == 8 +constant _POSIX_NGROUPS_MAX == 8 #else -optional-constant _POSIX_NGROUPS_MAX == 0 +constant _POSIX_NGROUPS_MAX == 0 #endif #if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 -optional-constant _POSIX_OPEN_MAX == 20 +constant _POSIX_OPEN_MAX == 20 #else -optional-constant _POSIX_OPEN_MAX == 16 -#endif -optional-constant _POSIX_PATH_MAX == 256 -optional-constant _POSIX_PIPE_BUF == 512 -optional-constant _POSIX2_RE_DUP_MAX == 255 -optional-constant _POSIX_RTSIG_MAX == 8 -optional-constant _POSIX_SEM_NSEMS_MAX == 256 -optional-constant _POSIX_SEM_VALUE_MAX == 32767 -optional-constant _POSIX_SIGQUEUE_MAX == 32 -optional-constant _POSIX_SSIZE_MAX == 32767 -optional-constant _POSIX_STREAM_MAX == 8 +constant _POSIX_OPEN_MAX == 16 +#endif +// Value was 255, corrected to 256 following an interpretation request. +constant _POSIX_PATH_MAX == 256 +constant _POSIX_PIPE_BUF == 512 +constant _POSIX_RTSIG_MAX == 8 +constant _POSIX_SEM_NSEMS_MAX == 256 +constant _POSIX_SEM_VALUE_MAX == 32767 +constant _POSIX_SIGQUEUE_MAX == 32 +constant _POSIX_SSIZE_MAX == 32767 +constant _POSIX_STREAM_MAX == 8 +#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 optional-constant _POSIX_SS_REPL_MAX == 4 optional-constant _POSIX_SYMLINK_MAX == 255 optional-constant _POSIX_SYMLOOP_MAX == 8 -optional-constant _POSIX_THREAD_DESTRUCTOR_ITERATIONS == 4 -optional-constant _POSIX_THREAD_KEYS_MAX == 128 -optional-constant _POSIX_THREAD_THREADS_MAX == 64 -optional-constant _POSIX_TIMER_MAX == 32 -optional-constant _POSIX_TTY_NAME_MAX == 9 -optional-constant _POSIX_TZNAME_MAX == 6 -optional-constant _POSIX2_BC_BASE_MAX == 99 -optional-constant _POSIX2_BC_DIM_MAX == 2048 -optional-constant _POSIX2_BC_SCALE_MAX == 99 -optional-constant _POSIX2_BC_STRING_MAX == 1000 -optional-constant _POSIX2_CHARCLASS_NAME_MAX == 14 -optional-constant _POSIX2_COLL_WEIGHTS_MAX == 2 -optional-constant _POSIX2_EXPR_NEST_MAX == 32 -optional-constant _POSIX2_LINE_MAX == 2048 -optional-constant _POSIX2_RE_DUP_MAX == 255 +#endif +constant _POSIX_THREAD_DESTRUCTOR_ITERATIONS == 4 +constant _POSIX_THREAD_KEYS_MAX == 128 +constant _POSIX_THREAD_THREADS_MAX == 64 +constant _POSIX_TIMER_MAX == 32 +constant _POSIX_TTY_NAME_MAX == 9 +#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 +constant _POSIX_TZNAME_MAX == 6 +#else +constant _POSIX_TZNAME_MAX == 3 +#endif +macro-constant _POSIX2_BC_BASE_MAX == 99 +macro-constant _POSIX2_BC_DIM_MAX == 2048 +macro-constant _POSIX2_BC_SCALE_MAX == 99 +macro-constant _POSIX2_BC_STRING_MAX == 1000 +#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 +constant _POSIX2_CHARCLASS_NAME_MAX == 14 +#endif +macro-constant _POSIX2_COLL_WEIGHTS_MAX == 2 +macro-constant _POSIX2_EXPR_NEST_MAX == 32 +macro-constant _POSIX2_LINE_MAX == 2048 +macro-constant _POSIX2_RE_DUP_MAX == 255 +#if !defined POSIX && !defined POSIX2008 && !defined XPG3 optional-constant _XOPEN_IOV_MAX == 16 +#endif #if !defined POSIX && !defined POSIX2008 constant WORD_BIT >= 16 @@ -146,22 +170,31 @@ constant LONG_BIT >= 32 #endif constant SSIZE_MAX +#if !defined POSIX && !defined XPG3 && !defined XPG4 optional-constant CHARCLASS_NAME_MAX >= 14 +#endif +#if !defined POSIX && !defined XPG3 optional-constant NL_ARGMAX >= 9 -#if !defined POSIX && !defined POSIX2008 +# if !defined POSIX2008 optional-constant NL_LANGMAX >= 14 -#endif +# endif optional-constant NL_MSGMAX >= 32767 -#if !defined XOPEN2K8 && !defined POSIX2008 +# if !defined XOPEN2K8 && !defined POSIX2008 optional-constant NL_NMAX -#endif +# endif optional-constant NL_SETMAX >= 255 optional-constant NL_TEXTMAX -#if !defined POSIX && !defined POSIX2008 +# if !defined POSIX2008 optional-constant NZERO >= 20 +# endif #endif +#if defined XPG4 || defined UNIX98 optional-constant TMP_MAX >= 10000 +#endif allow *_MAX +#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 allow *_MIN #endif +allow *_t +#endif diff --git a/conform/data/regex.h-data b/conform/data/regex.h-data index 2822f0b..04f9034 100644 --- a/conform/data/regex.h-data +++ b/conform/data/regex.h-data @@ -26,6 +26,7 @@ constant REG_EBRACK constant REG_EPAREN constant REG_EBRACE constant REG_BADBR +constant REG_ERANGE constant REG_ESPACE constant REG_BADRPT # if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008 diff --git a/conform/data/stdio.h-data b/conform/data/stdio.h-data index ab55ce7..9089180 100644 --- a/conform/data/stdio.h-data +++ b/conform/data/stdio.h-data @@ -9,7 +9,11 @@ macro-int-constant _IONBF #if !defined ISO && !defined ISO99 && !defined ISO11 constant L_ctermid # if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008 +# ifdef POSIX +optional-constant L_cuserid +# else constant L_cuserid +# endif # endif #endif macro-int-constant L_tmpnam @@ -99,7 +103,7 @@ function int getc (FILE*) function int getchar (void) #if defined POSIX || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008 function int getc_unlocked (FILE*) -function int getchar_unlocked () +function int getchar_unlocked (void) #endif #if defined XOPEN2K8 || defined POSIX2008 function ssize_t getdelim (char**, size_t*, int, FILE*) @@ -174,15 +178,17 @@ 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 && !defined POSIX -#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008 +#if !defined ISO && !defined ISO99 && !defined ISO11 +#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008 variable {char*} optarg variable int opterr variable int optind variable int optopt #endif +#if !defined POSIX allow-header stddef.h +#endif allow *_t #endif diff --git a/conform/data/sys/times.h-data b/conform/data/sys/times.h-data index d10444d..c93357b 100644 --- a/conform/data/sys/times.h-data +++ b/conform/data/sys/times.h-data @@ -1,4 +1,4 @@ -#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX +#if !defined ISO && !defined ISO99 && !defined ISO11 type {struct tms} element {struct tms} clock_t tms_utime diff --git a/conform/data/wordexp.h-data b/conform/data/wordexp.h-data index 821784a..0d96d68 100644 --- a/conform/data/wordexp.h-data +++ b/conform/data/wordexp.h-data @@ -13,6 +13,7 @@ constant WRDE_SHOWERR constant WRDE_UNDEF constant WRDE_BADCHAR +constant WRDE_BADVAL constant WRDE_CMDSUB constant WRDE_NOSPACE # if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008 -- 2.7.4