diff options
-rw-r--r-- | ChangeLog | 159 | ||||
-rw-r--r-- | conform/data/assert.h-data | 2 | ||||
-rw-r--r-- | conform/data/ctype.h-data | 12 | ||||
-rw-r--r-- | conform/data/errno.h-data | 162 | ||||
-rw-r--r-- | conform/data/float.h-data | 82 | ||||
-rw-r--r-- | conform/data/limits.h-data | 43 | ||||
-rw-r--r-- | conform/data/stddef.h-data | 8 |
7 files changed, 322 insertions, 146 deletions
diff --git a/ChangeLog b/ChangeLog index c5eabf180e..fcd2bcad1a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,164 @@ 2012-05-01 Joseph Myers <joseph@codesourcery.com> + * conform/data/assert.h-data [ISO || ISO99 || ISO11] (*_t): Do not + allow. + * conform/data/ctype.h-data [C99-based standards] (isblank): + Expect function. + (is*): Change to is[abcdefghijklmnopqrstuvwxyz]*. + (to*): Change to to[abcdefghijklmnopqrstuvwxyz]*. + [ISO || ISO99 || ISO11] (*_t): Do not allow. + * conform/data/errno.h-data (EDOM): Use macro-int-constant. + Specify type. Require positive value. + (EILSEQ): Likewise. + (ERANGE): Likewise. + [ISO || POSIX] (EILSEQ): Do not expect. + [!ISO && !ISO99 && !ISO11] (E2BIG): Use macro-int-constant. + Specify type. Require positive value. + [!ISO && !ISO99 && !ISO11] (EACCES): Likewise. + [!ISO && !ISO99 && !ISO11] (EADDRINUSE): Likewise. + [!ISO && !ISO99 && !ISO11] (EADDRNOTAVAIL): Likewise. + [!ISO && !ISO99 && !ISO11] (EAFNOSUPPORT): Likewise. + [!ISO && !ISO99 && !ISO11] (EAGAIN): Likewise. + [!ISO && !ISO99 && !ISO11] (EALREADY): Likewise. + [!ISO && !ISO99 && !ISO11] (EBADF): Likewise. + [!ISO && !ISO99 && !ISO11] (EBADMSG): Likewise. + [!ISO && !ISO99 && !ISO11] (EBUSY): Likewise. + [!ISO && !ISO99 && !ISO11] (ECANCELED): Likewise. + [!ISO && !ISO99 && !ISO11] (ECHILD): Likewise. + [!ISO && !ISO99 && !ISO11] (ECONNABORTED): Likewise. + [!ISO && !ISO99 && !ISO11] (ECONNREFUSED): Likewise. + [!ISO && !ISO99 && !ISO11] (ECONNRESET): Likewise. + [!ISO && !ISO99 && !ISO11] (EDEADLK): Likewise. + [!ISO && !ISO99 && !ISO11] (EDESTADDRREQ): Likewise. + [!ISO && !ISO99 && !ISO11] (EDQUOT): Likewise. + [!ISO && !ISO99 && !ISO11] (EEXIST): Likewise. + [!ISO && !ISO99 && !ISO11] (EFAULT): Likewise. + [!ISO && !ISO99 && !ISO11] (EFBIG): Likewise. + [!ISO && !ISO99 && !ISO11] (EHOSTUNREACH): Likewise. + [!ISO && !ISO99 && !ISO11] (EIDRM): Likewise. + [!ISO && !ISO99 && !ISO11] (EINPROGRESS): Likewise. + [!ISO && !ISO99 && !ISO11] (EINTR): Likewise. + [!ISO && !ISO99 && !ISO11] (EINVAL): Likewise. + [!ISO && !ISO99 && !ISO11] (EIO): Likewise. + [!ISO && !ISO99 && !ISO11] (EISCONN): Likewise. + [!ISO && !ISO99 && !ISO11] (EISDIR): Likewise. + [!ISO && !ISO99 && !ISO11] (ELOOP): Likewise. + [!ISO && !ISO99 && !ISO11] (EMFILE): Likewise. + [!ISO && !ISO99 && !ISO11] (EMLINK): Likewise. + [!ISO && !ISO99 && !ISO11] (EMSGSIZE): Likewise. + [!ISO && !ISO99 && !ISO11] (EMULTIHOP): Likewise. + [!ISO && !ISO99 && !ISO11] (ENAMETOOLONG): Likewise. + [!ISO && !ISO99 && !ISO11] (ENETDOWN): Likewise. + [!ISO && !ISO99 && !ISO11] (ENETUNREACH): Likewise. + [!ISO && !ISO99 && !ISO11] (ENFILE): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOBUFS): Likewise. + [!ISO && !ISO99 && !ISO11] (ENODATA): Likewise. + [!ISO && !ISO99 && !ISO11] (ENODEV): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOENT): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOEXEC): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOLCK): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOLINK): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOMEM): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOMSG): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOPROTOOPT): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOSPC): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOSR): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOSTR): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOSYS): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOTCONN): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOTDIR): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOTEMPTY): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOTSOCK): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOTSUP): Likewise. + [!ISO && !ISO99 && !ISO11] (ENOTTY): Likewise. + [!ISO && !ISO99 && !ISO11] (ENXIO): Likewise. + [!ISO && !ISO99 && !ISO11] (EOPNOTSUPP): Likewise. + [!ISO && !ISO99 && !ISO11] (EOVERFLOW): Likewise. + [!ISO && !ISO99 && !ISO11] (EPERM): Likewise. + [!ISO && !ISO99 && !ISO11] (EPIPE): Likewise. + [!ISO && !ISO99 && !ISO11] (EPROTO): Likewise. + [!ISO && !ISO99 && !ISO11] (EPROTONOSUPPORT): Likewise. + [!ISO && !ISO99 && !ISO11] (EPROTOTYPE): Likewise. + [!ISO && !ISO99 && !ISO11] (EROFS): Likewise. + [!ISO && !ISO99 && !ISO11] (ESPIPE): Likewise. + [!ISO && !ISO99 && !ISO11] (ESRCH): Likewise. + [!ISO && !ISO99 && !ISO11] (ESTALE): Likewise. + [!ISO && !ISO99 && !ISO11] (ETIME): Likewise. + [!ISO && !ISO99 && !ISO11] (ETIMEDOUT): Likewise. + [!ISO && !ISO99 && !ISO11] (ETXTBSY): Likewise. + [!ISO && !ISO99 && !ISO11] (EWOULDBLOCK): Likewise. + [!ISO && !ISO99 && !ISO11] (EXDEV): Likewise. + [XOPEN2K8 || defined POSIX2008] (ENOTRECOVERABLE): Likewise. + [XOPEN2K8 || defined POSIX2008] (EOWNERDEAD): Likewise. + * conform/data/float.h-data (FLT_RADIX): Use macro-int-constant. + Require >= 2. + (FLT_ROUNDS): Expect as macro, not constant. + (FLT_MANT_DIG): Use macro-int-constant. + (DBL_MANT_DIG): Likewise. + (LDBL_MANT_DIG): Likewise. + (FLT_DIG): Likewise. + (DBL_DIG): Likewise. + (LDBL_DIG): Likewise. + (FLT_MIN_EXP): Use macro-int-constant. Require < 0. + (DBL_MIN_EXP): Likewise. + (LDBL_MIN_EXP): Likewise. + (FLT_MAX_EXP): Use macro-int-constant. + (DBL_MAX_EXP): Likewise. + (LDBL_MAX_EXP): Likewise. + (FLT_MAX_10_EXP): Likewise. + (DBL_MAX_10_EXP): Likewise. + (LDBL_MAX_10_EXP): Likewise. + (FLT_MAX): Use macro-constant. + (DBL_MAX): Likewise. + (LDBL_MAX): Likewise. + (FLT_EPSILON): Use macro-constant. Give upper bound. + (DBL_EPSILON): Likewise. + (LDBL_EPSILON): Likewise. + (FLT_MIN): Likewise. + (DBL_MIN): Likewise. + (LDBL_MIN): Likewise. + [C99-based standards] (DECIMAL_DIG): Use macro-int-constant. + [C99-based standards] (FLT_EVAL_METHOD): Likewise. + [ISO11] (DBL_HAS_SUBNORM): Use macro-int-constant. + [ISO11] (FLT_HAS_SUBNORM): Likewise. + [ISO11] (LDBL_HAS_SUBNORM): Likewise. + [ISO11] (DBL_DECIMAL_DIG): Likewise. + [ISO11] (FLT_DECIMAL_DIG): Likewise. + [ISO11] (LDBL_DECIMAL_DIG): Likewise. + [ISO11] (DBL_TRUE_MIN): Use macro-constant. + [ISO11] (FLT_TRUE_MIN): Likewise. + [ISO11] (LDBL_TRUE_MIN): Likewise. + [ISO || ISO99 || ISO11] (*_t): Do not allow. + * conform/data/limits.h-data (CHAR_BIT): Use macro-int-constant. + (SCHAR_MIN): Use macro-int-constant. Specify type. + (SCHAR_MAX): Likewise. + (UCHAR_MAX): Likewise. + (CHAR_MIN): Likewise. + (CHAR_MAX): Likewise. + (MB_LEN_MAX): Use macro-int-constant. + (SHRT_MIN): Use macro-int-constant. Specify type. + (SHRT_MAX): Likewise. + (USHRT_MAX): Likewise. + (INT_MAX): Likewise. + (INT_MIN): Use macro-int-constant. Specify type. Make upper + bound negative. + (UINT_MAX): Use macro-int-constant. Specify type. Suffix lower + bound with "U". + (LONG_MAX): Use macro-int-constant. Specify type. Suffix lower + bound with "L". + (LONG_MIN): Use macro-int-constant. Specify type. Make upper + bound negative. Suffix upper bound with "L". + (ULONG_MAX): Use macro-int-constant. Specify type. Suffix lower + bound with "UL". + [C99-based standards] (LLONG_MIN): Use macro-int-constant. + Specify type. + [C99-based standards] (LLONG_MAX): Likewise. + [C99-based standards] (ULLONG_MAX): Likewise. + * conform/data/stddef.h-data (NULL): Use macro-constant. Require + == 0. + [ISO11] (max_align_t): Require type. + [ISO || ISO99 || ISO11] (*_t): Do not allow. + * conform/conformtest.pl ($CFLAGS_namespace): Define separately from $CFLAGS, without defining away __attribute__ calls. (checknamespace): Use $CFLAGS_namespace. diff --git a/conform/data/assert.h-data b/conform/data/assert.h-data index 9c3cc046c6..acdfef99e1 100644 --- a/conform/data/assert.h-data +++ b/conform/data/assert.h-data @@ -4,4 +4,6 @@ macro assert macro static_assert #endif +#if !defined ISO && !defined ISO99 && !defined ISO11 allow *_t +#endif diff --git a/conform/data/ctype.h-data b/conform/data/ctype.h-data index e2c6019d50..3ee21c9b7d 100644 --- a/conform/data/ctype.h-data +++ b/conform/data/ctype.h-data @@ -12,6 +12,10 @@ function int isxdigit (int) function int tolower (int) function int toupper (int) +#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 +function int isblank (int) +#endif + #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 function int isascii (int) function int toascii (int) @@ -39,9 +43,9 @@ function int tolower_l (int, locale_t) function int toupper_l (int, locale_t) # endif -// The following is not entirely correct. It should be is[a-z]* but the -// replacement fnmatch implementation does not grok it. -allow is* -allow to* +allow is[abcdefghijklmnopqrstuvwxyz]* +allow to[abcdefghijklmnopqrstuvwxyz]* +#if !defined ISO && !defined ISO99 && !defined ISO11 allow *_t +#endif diff --git a/conform/data/errno.h-data b/conform/data/errno.h-data index 328687f8dc..eaf6c210eb 100644 --- a/conform/data/errno.h-data +++ b/conform/data/errno.h-data @@ -1,90 +1,92 @@ -constant EDOM -constant EILSEQ -constant ERANGE +macro-int-constant EDOM {int} > 0 +#if !defined ISO && !defined POSIX +macro-int-constant EILSEQ {int} > 0 +#endif +macro-int-constant ERANGE {int} > 0 // variable int errno allow errno #if !defined ISO && !defined ISO99 && !defined ISO11 -constant E2BIG -constant EACCES -constant EADDRINUSE -constant EADDRNOTAVAIL -constant EAFNOSUPPORT -constant EAGAIN -constant EALREADY -constant EBADF -constant EBADMSG -constant EBUSY -constant ECANCELED -constant ECHILD -constant ECONNABORTED -constant ECONNREFUSED -constant ECONNRESET -constant EDEADLK -constant EDESTADDRREQ -constant EDQUOT -constant EEXIST -constant EFAULT -constant EFBIG -constant EHOSTUNREACH -constant EIDRM -constant EINPROGRESS -constant EINTR -constant EINVAL -constant EIO -constant EISCONN -constant EISDIR -constant ELOOP -constant EMFILE -constant EMLINK -constant EMSGSIZE -constant EMULTIHOP -constant ENAMETOOLONG -constant ENETDOWN -constant ENETUNREACH -constant ENFILE -constant ENOBUFS -constant ENODATA -constant ENODEV -constant ENOENT -constant ENOEXEC -constant ENOLCK -constant ENOLINK -constant ENOMEM -constant ENOMSG -constant ENOPROTOOPT -constant ENOSPC -constant ENOSR -constant ENOSTR -constant ENOSYS -constant ENOTCONN -constant ENOTDIR -constant ENOTEMPTY -constant ENOTSOCK -constant ENOTSUP -constant ENOTTY -constant ENXIO -constant EOPNOTSUPP -constant EOVERFLOW -constant EPERM -constant EPIPE -constant EPROTO -constant EPROTONOSUPPORT -constant EPROTOTYPE -constant EROFS -constant ESPIPE -constant ESRCH -constant ESTALE -constant ETIME -constant ETIMEDOUT -constant ETXTBSY -constant EWOULDBLOCK -constant EXDEV +macro-int-constant E2BIG {int} > 0 +macro-int-constant EACCES {int} > 0 +macro-int-constant EADDRINUSE {int} > 0 +macro-int-constant EADDRNOTAVAIL {int} > 0 +macro-int-constant EAFNOSUPPORT {int} > 0 +macro-int-constant EAGAIN {int} > 0 +macro-int-constant EALREADY {int} > 0 +macro-int-constant EBADF {int} > 0 +macro-int-constant EBADMSG {int} > 0 +macro-int-constant EBUSY {int} > 0 +macro-int-constant ECANCELED {int} > 0 +macro-int-constant ECHILD {int} > 0 +macro-int-constant ECONNABORTED {int} > 0 +macro-int-constant ECONNREFUSED {int} > 0 +macro-int-constant ECONNRESET {int} > 0 +macro-int-constant EDEADLK {int} > 0 +macro-int-constant EDESTADDRREQ {int} > 0 +macro-int-constant EDQUOT {int} > 0 +macro-int-constant EEXIST {int} > 0 +macro-int-constant EFAULT {int} > 0 +macro-int-constant EFBIG {int} > 0 +macro-int-constant EHOSTUNREACH {int} > 0 +macro-int-constant EIDRM {int} > 0 +macro-int-constant EINPROGRESS {int} > 0 +macro-int-constant EINTR {int} > 0 +macro-int-constant EINVAL {int} > 0 +macro-int-constant EIO {int} > 0 +macro-int-constant EISCONN {int} > 0 +macro-int-constant EISDIR {int} > 0 +macro-int-constant ELOOP {int} > 0 +macro-int-constant EMFILE {int} > 0 +macro-int-constant EMLINK {int} > 0 +macro-int-constant EMSGSIZE {int} > 0 +macro-int-constant EMULTIHOP {int} > 0 +macro-int-constant ENAMETOOLONG {int} > 0 +macro-int-constant ENETDOWN {int} > 0 +macro-int-constant ENETUNREACH {int} > 0 +macro-int-constant ENFILE {int} > 0 +macro-int-constant ENOBUFS {int} > 0 +macro-int-constant ENODATA {int} > 0 +macro-int-constant ENODEV {int} > 0 +macro-int-constant ENOENT {int} > 0 +macro-int-constant ENOEXEC {int} > 0 +macro-int-constant ENOLCK {int} > 0 +macro-int-constant ENOLINK {int} > 0 +macro-int-constant ENOMEM {int} > 0 +macro-int-constant ENOMSG {int} > 0 +macro-int-constant ENOPROTOOPT {int} > 0 +macro-int-constant ENOSPC {int} > 0 +macro-int-constant ENOSR {int} > 0 +macro-int-constant ENOSTR {int} > 0 +macro-int-constant ENOSYS {int} > 0 +macro-int-constant ENOTCONN {int} > 0 +macro-int-constant ENOTDIR {int} > 0 +macro-int-constant ENOTEMPTY {int} > 0 +macro-int-constant ENOTSOCK {int} > 0 +macro-int-constant ENOTSUP {int} > 0 +macro-int-constant ENOTTY {int} > 0 +macro-int-constant ENXIO {int} > 0 +macro-int-constant EOPNOTSUPP {int} > 0 +macro-int-constant EOVERFLOW {int} > 0 +macro-int-constant EPERM {int} > 0 +macro-int-constant EPIPE {int} > 0 +macro-int-constant EPROTO {int} > 0 +macro-int-constant EPROTONOSUPPORT {int} > 0 +macro-int-constant EPROTOTYPE {int} > 0 +macro-int-constant EROFS {int} > 0 +macro-int-constant ESPIPE {int} > 0 +macro-int-constant ESRCH {int} > 0 +macro-int-constant ESTALE {int} > 0 +macro-int-constant ETIME {int} > 0 +macro-int-constant ETIMEDOUT {int} > 0 +macro-int-constant ETXTBSY {int} > 0 +macro-int-constant EWOULDBLOCK {int} > 0 +macro-int-constant EXDEV {int} > 0 # if defined XOPEN2K8 || defined POSIX2008 -constant ENOTRECOVERABLE -constant EOWNERDEAD +macro-int-constant ENOTRECOVERABLE {int} > 0 +macro-int-constant EOWNERDEAD {int} > 0 # endif allow E* diff --git a/conform/data/float.h-data b/conform/data/float.h-data index 49d953aa6d..350802ac29 100644 --- a/conform/data/float.h-data +++ b/conform/data/float.h-data @@ -1,60 +1,62 @@ -macro FLT_RADIX +macro-int-constant FLT_RADIX >= 2 -constant FLT_ROUNDS +macro FLT_ROUNDS -macro FLT_MANT_DIG -macro DBL_MANT_DIG -macro LDBL_MANT_DIG +macro-int-constant FLT_MANT_DIG +macro-int-constant DBL_MANT_DIG +macro-int-constant LDBL_MANT_DIG -constant FLT_DIG >= 6 -constant DBL_DIG >= 10 -constant LDBL_DIG >= 10 +macro-int-constant FLT_DIG >= 6 +macro-int-constant DBL_DIG >= 10 +macro-int-constant LDBL_DIG >= 10 -macro FLT_MIN_EXP -macro DBL_MIN_EXP -macro LDBL_MIN_EXP +macro-int-constant FLT_MIN_EXP < 0 +macro-int-constant DBL_MIN_EXP < 0 +macro-int-constant LDBL_MIN_EXP < 0 -constant FLT_MIN_10_EXP <= -37 -constant DBL_MIN_10_EXP <= -37 -constant LDBL_MIN_10_EXP <= -37 +macro-int-constant FLT_MIN_10_EXP <= -37 +macro-int-constant DBL_MIN_10_EXP <= -37 +macro-int-constant LDBL_MIN_10_EXP <= -37 -macro FLT_MAX_EXP -macro DBL_MAX_EXP -macro LDBL_MAX_EXP +macro-int-constant FLT_MAX_EXP +macro-int-constant DBL_MAX_EXP +macro-int-constant LDBL_MAX_EXP -constant FLT_MAX_10_EXP >= 37 -constant DBL_MAX_10_EXP >= 37 -constant LDBL_MAX_10_EXP >= 37 +macro-int-constant FLT_MAX_10_EXP >= 37 +macro-int-constant DBL_MAX_10_EXP >= 37 +macro-int-constant LDBL_MAX_10_EXP >= 37 -constant FLT_MAX >= 1.0E37 -constant DBL_MAX >= 1.0E37 -constant LDBL_MAX >= 1.0E37 +macro-constant FLT_MAX >= 1.0E37 +macro-constant DBL_MAX >= 1.0E37 +macro-constant LDBL_MAX >= 1.0E37 -macro FLT_EPSILON -macro DBL_EPSILON -macro LDBL_EPSILON +macro-constant FLT_EPSILON <= 1.0E-5 +macro-constant DBL_EPSILON <= 1.0E-9 +macro-constant LDBL_EPSILON <= 1.0E-9 -macro FLT_MIN -macro DBL_MIN -macro LDBL_MIN +macro-constant FLT_MIN <= 1.0E-37 +macro-constant DBL_MIN <= 1.0E-37 +macro-constant LDBL_MIN <= 1.0E-37 #if !defined ISO && !defined XPG3 && !defined XPG4 && !defined POSIX && !defined UNIX98 -constant DECIMAL_DIG >= 10 -constant FLT_EVAL_METHOD +macro-int-constant DECIMAL_DIG >= 10 +macro-int-constant FLT_EVAL_METHOD #endif #if defined ISO11 -constant DBL_HAS_SUBNORM -constant FLT_HAS_SUBNORM -constant LDBL_HAS_SUBNORM +macro-int-constant DBL_HAS_SUBNORM +macro-int-constant FLT_HAS_SUBNORM +macro-int-constant LDBL_HAS_SUBNORM -constant DBL_DECIMAL_DIG >= 10 -constant FLT_DECIMAL_DIG >= 6 -constant LDBL_DECIMAL_DIG >= 10 +macro-int-constant DBL_DECIMAL_DIG >= 10 +macro-int-constant FLT_DECIMAL_DIG >= 6 +macro-int-constant LDBL_DECIMAL_DIG >= 10 -constant DBL_TRUE_MIN <= 1E-37 -constant FLT_TRUE_MIN <= 1E-37 -constant LDBL_TRUE_MIN <= 1E-37 +macro-constant DBL_TRUE_MIN <= 1E-37 +macro-constant FLT_TRUE_MIN <= 1E-37 +macro-constant LDBL_TRUE_MIN <= 1E-37 #endif +#if !defined ISO && !defined ISO99 && !defined ISO11 allow *_t +#endif diff --git a/conform/data/limits.h-data b/conform/data/limits.h-data index 8f7a0010c2..dec178a517 100644 --- a/conform/data/limits.h-data +++ b/conform/data/limits.h-data @@ -1,28 +1,29 @@ -constant CHAR_BIT >= 8 -constant SCHAR_MIN <= -127 -constant SCHAR_MAX >= 127 -constant UCHAR_MAX >= 255 +macro-int-constant CHAR_BIT >= 8 +macro-int-constant SCHAR_MIN {promoted:signed char} <= -127 +macro-int-constant SCHAR_MAX {promoted:signed char} >= 127 +macro-int-constant UCHAR_MAX {promoted:unsigned char} >= 255 #ifdef __CHAR_UNSIGNED__ -constant CHAR_MIN == 0 -constant CHAR_MAX == UCHAR_MAX +macro-int-constant CHAR_MIN {promoted:char} == 0 +macro-int-constant CHAR_MAX {promoted:char} == UCHAR_MAX #else -constant CHAR_MIN == SCHAR_MIN -constant CHAR_MAX == SCHAR_MAX +macro-int-constant CHAR_MIN {promoted:char} == SCHAR_MIN +macro-int-constant CHAR_MAX {promoted:char} == SCHAR_MAX #endif -constant MB_LEN_MAX >= 1 -constant SHRT_MIN <= -32767 -constant SHRT_MAX >= 32767 -constant USHRT_MAX >= 65535 -constant INT_MAX >= 2147483647 -constant INT_MIN <= 2147483647 -constant UINT_MAX >= 4294967295 -constant LONG_MAX >= 2147483647 -constant LONG_MIN <= 2147483647 -constant ULONG_MAX >= 4294967295 +macro-int-constant MB_LEN_MAX >= 1 +macro-int-constant SHRT_MIN {promoted:short int} <= -32767 +macro-int-constant SHRT_MAX {promoted:short int} >= 32767 +macro-int-constant USHRT_MAX {promoted:unsigned short int} >= 65535 +// The ranges for int and unsigned int are from POSIX. +macro-int-constant INT_MAX {int} >= 2147483647 +macro-int-constant INT_MIN {int} <= -2147483647 +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 -constant LLONG_MIN <= -9223372036854775807ll -constant LLONG_MAX >= 9223372036854775807ll -constant ULLONG_MAX >= 18446744073709551615ull +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 diff --git a/conform/data/stddef.h-data b/conform/data/stddef.h-data index a9acf2dac5..9ded4f1ca0 100644 --- a/conform/data/stddef.h-data +++ b/conform/data/stddef.h-data @@ -1,4 +1,4 @@ -constant NULL +macro-constant NULL == 0 macro offsetof @@ -6,4 +6,10 @@ type ptrdiff_t type wchar_t type size_t +#if defined ISO11 +type max_align_t +#endif + +#if !defined ISO && !defined ISO99 && !defined ISO11 allow *_t +#endif |