mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
conformtest: Clean up / correct / expand C99 and C11 expectations.
This commit is contained in:
parent
01f34a3bd8
commit
05bcf62afb
288
ChangeLog
288
ChangeLog
@ -1,3 +1,291 @@
|
||||
2012-11-07 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* conform/conformtest.pl: Preprocess allow-header data with -x c
|
||||
instead of from stdin.
|
||||
(@headers): Add stdalign.h, stdbool.h and stdnoreturn.h.
|
||||
* conform/data/complex.h-data [C99-based standards] (cerf): Allow.
|
||||
[C99-based standards] (cerfc): Likewise.
|
||||
[C99-based standards] (cexp2): Likewise.
|
||||
[C99-based standards] (cexpm1): Likewise.
|
||||
[C99-based standards] (clog10): Likewise.
|
||||
[C99-based standards] (clog1p): Likewise.
|
||||
[C99-based standards] (clog2): Likewise.
|
||||
[C99-based standards] (clgamma): Likewise.
|
||||
[C99-based standards] (ctgamma): Likewise.
|
||||
[C99-based standards] (cerff): Likewise.
|
||||
[C99-based standards] (cerfcf): Likewise.
|
||||
[C99-based standards] (cexp2f): Likewise.
|
||||
[C99-based standards] (cexpm1f): Likewise.
|
||||
[C99-based standards] (clog10f): Likewise.
|
||||
[C99-based standards] (clog1pf): Likewise.
|
||||
[C99-based standards] (clog2f): Likewise.
|
||||
[C99-based standards] (clgammaf): Likewise.
|
||||
[C99-based standards] (ctgammaf): Likewise.
|
||||
[C99-based standards] (cerfl): Likewise.
|
||||
[C99-based standards] (cerfcl): Likewise.
|
||||
[C99-based standards] (cexp2l): Likewise.
|
||||
[C99-based standards] (cexpm1l): Likewise.
|
||||
[C99-based standards] (clog10l): Likewise.
|
||||
[C99-based standards] (clog1pl): Likewise.
|
||||
[C99-based standards] (clog2l): Likewise.
|
||||
[C99-based standards] (clgammal): Likewise.
|
||||
[C99-based standards] (ctgammal): Likewise.
|
||||
* conform/data/inttypes.h-data [C99-based standards]: Include
|
||||
stdint.h-data. Remove all expectations for stdint.h contents.
|
||||
[C99-based standards] (PRI*): Do not allow.
|
||||
[C99-based standards] (SCN*): Likewise.
|
||||
[C99-based standards] (*_t): Likewise.
|
||||
[C99-based-standards] (PRId8): Expect macro.
|
||||
[C99-based-standards] (PRIi8): Likewise.
|
||||
[C99-based-standards] (PRIo8): Likewise.
|
||||
[C99-based-standards] (PRIu8): Likewise.
|
||||
[C99-based-standards] (PRIx8): Likewise.
|
||||
[C99-based-standards] (PRIX8): Likewise.
|
||||
[C99-based-standards] (SCNd8): Likewise.
|
||||
[C99-based-standards] (SCNi8): Likewise.
|
||||
[C99-based-standards] (SCNo8): Likewise.
|
||||
[C99-based-standards] (SCNu8): Likewise.
|
||||
[C99-based-standards] (SCNx8): Likewise.
|
||||
[C99-based-standards] (PRIdLEAST8): Likewise.
|
||||
[C99-based-standards] (PRIiLEAST8): Likewise.
|
||||
[C99-based-standards] (PRIoLEAST8): Likewise.
|
||||
[C99-based-standards] (PRIuLEAST8): Likewise.
|
||||
[C99-based-standards] (PRIxLEAST8): Likewise.
|
||||
[C99-based-standards] (PRIXLEAST8): Likewise.
|
||||
[C99-based-standards] (SCNdLEAST8): Likewise.
|
||||
[C99-based-standards] (SCNiLEAST8): Likewise.
|
||||
[C99-based-standards] (SCNoLEAST8): Likewise.
|
||||
[C99-based-standards] (SCNuLEAST8): Likewise.
|
||||
[C99-based-standards] (SCNxLEAST8): Likewise.
|
||||
[C99-based-standards] (PRIdFAST8): Likewise.
|
||||
[C99-based-standards] (PRIiFAST8): Likewise.
|
||||
[C99-based-standards] (PRIoFAST8): Likewise.
|
||||
[C99-based-standards] (PRIuFAST8): Likewise.
|
||||
[C99-based-standards] (PRIxFAST8): Likewise.
|
||||
[C99-based-standards] (PRIXFAST8): Likewise.
|
||||
[C99-based-standards] (SCNdFAST8): Likewise.
|
||||
[C99-based-standards] (SCNiFAST8): Likewise.
|
||||
[C99-based-standards] (SCNoFAST8): Likewise.
|
||||
[C99-based-standards] (SCNuFAST8): Likewise.
|
||||
[C99-based-standards] (SCNxFAST8): Likewise.
|
||||
[C99-based-standards] (PRId16): Likewise.
|
||||
[C99-based-standards] (PRIi16): Likewise.
|
||||
[C99-based-standards] (PRIo16): Likewise.
|
||||
[C99-based-standards] (PRIu16): Likewise.
|
||||
[C99-based-standards] (PRIx16): Likewise.
|
||||
[C99-based-standards] (PRIX16): Likewise.
|
||||
[C99-based-standards] (SCNd16): Likewise.
|
||||
[C99-based-standards] (SCNi16): Likewise.
|
||||
[C99-based-standards] (SCNo16): Likewise.
|
||||
[C99-based-standards] (SCNu16): Likewise.
|
||||
[C99-based-standards] (SCNx16): Likewise.
|
||||
[C99-based-standards] (PRIdLEAST16): Likewise.
|
||||
[C99-based-standards] (PRIiLEAST16): Likewise.
|
||||
[C99-based-standards] (PRIoLEAST16): Likewise.
|
||||
[C99-based-standards] (PRIuLEAST16): Likewise.
|
||||
[C99-based-standards] (PRIxLEAST16): Likewise.
|
||||
[C99-based-standards] (PRIXLEAST16): Likewise.
|
||||
[C99-based-standards] (SCNdLEAST16): Likewise.
|
||||
[C99-based-standards] (SCNiLEAST16): Likewise.
|
||||
[C99-based-standards] (SCNoLEAST16): Likewise.
|
||||
[C99-based-standards] (SCNuLEAST16): Likewise.
|
||||
[C99-based-standards] (SCNxLEAST16): Likewise.
|
||||
[C99-based-standards] (PRIdFAST16): Likewise.
|
||||
[C99-based-standards] (PRIiFAST16): Likewise.
|
||||
[C99-based-standards] (PRIoFAST16): Likewise.
|
||||
[C99-based-standards] (PRIuFAST16): Likewise.
|
||||
[C99-based-standards] (PRIxFAST16): Likewise.
|
||||
[C99-based-standards] (PRIXFAST16): Likewise.
|
||||
[C99-based-standards] (SCNdFAST16): Likewise.
|
||||
[C99-based-standards] (SCNiFAST16): Likewise.
|
||||
[C99-based-standards] (SCNoFAST16): Likewise.
|
||||
[C99-based-standards] (SCNuFAST16): Likewise.
|
||||
[C99-based-standards] (SCNxFAST16): Likewise.
|
||||
[C99-based-standards] (PRId32): Likewise.
|
||||
[C99-based-standards] (PRIi32): Likewise.
|
||||
[C99-based-standards] (PRIo32): Likewise.
|
||||
[C99-based-standards] (PRIu32): Likewise.
|
||||
[C99-based-standards] (PRIx32): Likewise.
|
||||
[C99-based-standards] (PRIX32): Likewise.
|
||||
[C99-based-standards] (SCNd32): Likewise.
|
||||
[C99-based-standards] (SCNi32): Likewise.
|
||||
[C99-based-standards] (SCNo32): Likewise.
|
||||
[C99-based-standards] (SCNu32): Likewise.
|
||||
[C99-based-standards] (SCNx32): Likewise.
|
||||
[C99-based-standards] (PRIdLEAST32): Likewise.
|
||||
[C99-based-standards] (PRIiLEAST32): Likewise.
|
||||
[C99-based-standards] (PRIoLEAST32): Likewise.
|
||||
[C99-based-standards] (PRIuLEAST32): Likewise.
|
||||
[C99-based-standards] (PRIxLEAST32): Likewise.
|
||||
[C99-based-standards] (PRIXLEAST32): Likewise.
|
||||
[C99-based-standards] (SCNdLEAST32): Likewise.
|
||||
[C99-based-standards] (SCNiLEAST32): Likewise.
|
||||
[C99-based-standards] (SCNoLEAST32): Likewise.
|
||||
[C99-based-standards] (SCNuLEAST32): Likewise.
|
||||
[C99-based-standards] (SCNxLEAST32): Likewise.
|
||||
[C99-based-standards] (PRIdFAST32): Likewise.
|
||||
[C99-based-standards] (PRIiFAST32): Likewise.
|
||||
[C99-based-standards] (PRIoFAST32): Likewise.
|
||||
[C99-based-standards] (PRIuFAST32): Likewise.
|
||||
[C99-based-standards] (PRIxFAST32): Likewise.
|
||||
[C99-based-standards] (PRIXFAST32): Likewise.
|
||||
[C99-based-standards] (SCNdFAST32): Likewise.
|
||||
[C99-based-standards] (SCNiFAST32): Likewise.
|
||||
[C99-based-standards] (SCNoFAST32): Likewise.
|
||||
[C99-based-standards] (SCNuFAST32): Likewise.
|
||||
[C99-based-standards] (SCNxFAST32): Likewise.
|
||||
[C99-based-standards] (PRId64): Likewise.
|
||||
[C99-based-standards] (PRIi64): Likewise.
|
||||
[C99-based-standards] (PRIo64): Likewise.
|
||||
[C99-based-standards] (PRIu64): Likewise.
|
||||
[C99-based-standards] (PRIx64): Likewise.
|
||||
[C99-based-standards] (PRIX64): Likewise.
|
||||
[C99-based-standards] (SCNd64): Likewise.
|
||||
[C99-based-standards] (SCNi64): Likewise.
|
||||
[C99-based-standards] (SCNo64): Likewise.
|
||||
[C99-based-standards] (SCNu64): Likewise.
|
||||
[C99-based-standards] (SCNx64): Likewise.
|
||||
[C99-based-standards] (PRIdLEAST64): Likewise.
|
||||
[C99-based-standards] (PRIiLEAST64): Likewise.
|
||||
[C99-based-standards] (PRIoLEAST64): Likewise.
|
||||
[C99-based-standards] (PRIuLEAST64): Likewise.
|
||||
[C99-based-standards] (PRIxLEAST64): Likewise.
|
||||
[C99-based-standards] (PRIXLEAST64): Likewise.
|
||||
[C99-based-standards] (SCNdLEAST64): Likewise.
|
||||
[C99-based-standards] (SCNiLEAST64): Likewise.
|
||||
[C99-based-standards] (SCNoLEAST64): Likewise.
|
||||
[C99-based-standards] (SCNuLEAST64): Likewise.
|
||||
[C99-based-standards] (SCNxLEAST64): Likewise.
|
||||
[C99-based-standards] (PRIdFAST64): Likewise.
|
||||
[C99-based-standards] (PRIiFAST64): Likewise.
|
||||
[C99-based-standards] (PRIoFAST64): Likewise.
|
||||
[C99-based-standards] (PRIuFAST64): Likewise.
|
||||
[C99-based-standards] (PRIxFAST64): Likewise.
|
||||
[C99-based-standards] (PRIXFAST64): Likewise.
|
||||
[C99-based-standards] (SCNdFAST64): Likewise.
|
||||
[C99-based-standards] (SCNiFAST64): Likewise.
|
||||
[C99-based-standards] (SCNoFAST64): Likewise.
|
||||
[C99-based-standards] (SCNuFAST64): Likewise.
|
||||
[C99-based-standards] (SCNxFAST64): Likewise.
|
||||
[C99-based-standards] (PRIdMAX): Likewise.
|
||||
[C99-based-standards] (PRIiMAX): Likewise.
|
||||
[C99-based-standards] (PRIoMAX): Likewise.
|
||||
[C99-based-standards] (PRIuMAX): Likewise.
|
||||
[C99-based-standards] (PRIxMAX): Likewise.
|
||||
[C99-based-standards] (PRIXMAX): Likewise.
|
||||
[C99-based-standards] (SCNdMAX): Likewise.
|
||||
[C99-based-standards] (SCNiMAX): Likewise.
|
||||
[C99-based-standards] (SCNoMAX): Likewise.
|
||||
[C99-based-standards] (SCNuMAX): Likewise.
|
||||
[C99-based-standards] (SCNxMAX): Likewise.
|
||||
[C99-based-standards] (PRIdPTR): Likewise.
|
||||
[C99-based-standards] (PRIiPTR): Likewise.
|
||||
[C99-based-standards] (PRIoPTR): Likewise.
|
||||
[C99-based-standards] (PRIuPTR): Likewise.
|
||||
[C99-based-standards] (PRIxPTR): Likewise.
|
||||
[C99-based-standards] (PRIXPTR): Likewise.
|
||||
[C99-based-standards] (SCNdPTR): Likewise.
|
||||
[C99-based-standards] (SCNiPTR): Likewise.
|
||||
[C99-based-standards] (SCNoPTR): Likewise.
|
||||
[C99-based-standards] (SCNuPTR): Likewise.
|
||||
[C99-based-standards] (SCNxPTR): Likewise.
|
||||
* conform/data/iso646.h-data [ISO C standards] (*_t): Do not
|
||||
allow.
|
||||
* conform/data/stdint.h-data: Update comments to clarify
|
||||
requirements.
|
||||
[C99-based standards] (INT8_MIN): Use macro-int-constant. Specify
|
||||
type.
|
||||
[C99-based standards] (INT8_MAX): Likewise.
|
||||
[C99-based standards] (INT16_MIN): Likewise.
|
||||
[C99-based standards] (INT16_MAX): Likewise.
|
||||
[C99-based standards] (INT32_MIN): Likewise.
|
||||
[C99-based standards] (INT32_MAX): Likewise.
|
||||
[C99-based standards] (INT64_MIN): Likewise.
|
||||
[C99-based standards] (INT64_MAX): Likewise.
|
||||
[C99-based standards] (UINT8_MAX): Likewise.
|
||||
[C99-based standards] (UINT16_MAX): Likewise.
|
||||
[C99-based standards] (UINT32_MAX): Likewise.
|
||||
[C99-based standards] (UINT64_MAX): Likewise.
|
||||
[C99-based standards] (INT_LEAST8_MIN): Likewise.
|
||||
[C99-based standards] (INT_LEAST8_MAX): Likewise.
|
||||
[C99-based standards] (INT_LEAST16_MIN): Likewise.
|
||||
[C99-based standards] (INT_LEAST16_MAX): Likewise.
|
||||
[C99-based standards] (INT_LEAST32_MIN): Likewise.
|
||||
[C99-based standards] (INT_LEAST32_MAX): Likewise.
|
||||
[C99-based standards] (INT_LEAST64_MIN): Likewise.
|
||||
[C99-based standards] (INT_LEAST64_MAX): Likewise.
|
||||
[C99-based standards] (UINT_LEAST8_MAX): Likewise.
|
||||
[C99-based standards] (UINT_LEAST16_MAX): Likewise.
|
||||
[C99-based standards] (UINT_LEAST32_MAX): Likewise.
|
||||
[C99-based standards] (UINT_LEAST64_MAX): Likewise.
|
||||
[C99-based standards] (INT_FAST8_MIN): Likewise.
|
||||
[C99-based standards] (INT_FAST8_MAX): Likewise.
|
||||
[C99-based standards] (INT_FAST16_MIN): Likewise.
|
||||
[C99-based standards] (INT_FAST16_MAX): Likewise.
|
||||
[C99-based standards] (INT_FAST32_MIN): Likewise.
|
||||
[C99-based standards] (INT_FAST32_MAX): Likewise.
|
||||
[C99-based standards] (INT_FAST64_MIN): Likewise.
|
||||
[C99-based standards] (INT_FAST64_MAX): Likewise.
|
||||
[C99-based standards] (UINT_FAST8_MAX): Likewise.
|
||||
[C99-based standards] (UINT_FAST16_MAX): Likewise.
|
||||
[C99-based standards] (UINT_FAST32_MAX): Likewise.
|
||||
[C99-based standards] (UINT_FAST64_MAX): Likewise.
|
||||
[C99-based standards] (INTPTR_MIN): Likewise.
|
||||
[C99-based standards] (INTPTR_MAX): Likewise.
|
||||
[C99-based standards] (UINTPTR_MAX): Likewise.
|
||||
[C99-based standards] (INTMAX_MIN): Likewise.
|
||||
[C99-based standards] (INTMAX_MAX): Likewise.
|
||||
[C99-based standards] (UINTMAX_MAX): Likewise.
|
||||
[C99-based standards] (PTRDIFF_MIN): Likewise.
|
||||
[C99-based standards] (PTRDIFF_MAX): Likewise.
|
||||
[C99-based standards] (SIG_ATOMIC_MAX): Likewise.
|
||||
[C99-based standards] (SIZE_MAX): Likewise.
|
||||
[C99-based standards] (WCHAR_MAX): Likewise.
|
||||
[C99-based standards] (WINT_MAX): Likewise.
|
||||
[C99-based standards] (SIG_ATOMIC_MIN): Likewise. Do not specify
|
||||
constraint on value.
|
||||
[C99-based standards] (WCHAR_MIN): Likewise.
|
||||
[C99-based standards] (WINT_MIN): Likewise.
|
||||
[C99-based standards] (*_t): Allow.
|
||||
* conform/data/tgmath.h-data [XOPEN2K || POSIX2008]: Change
|
||||
condition to [!ISO && !POSIX && !XPG3 && !XPG4 && !UNIX98].
|
||||
Include math.h-data and complex.h-data. Remove all expectations
|
||||
of math.h and complex.h contents.
|
||||
* conform/data/uchar.h-data [ISO11] (c16rtomb): Remove stray "16"
|
||||
at end of line.
|
||||
* conform/data/wchar.h-data [!ISO && !POSIX && !XPG3 && !XPG4]
|
||||
(struct tm): Expect tag.
|
||||
[C99-based-standards] (wcstof): Expect function.
|
||||
[C99-based-standards] (wcstold): Likewise.
|
||||
[C99-based-standards] (wcstoll): Likewise.
|
||||
[C99-based-standards] (wcstoull): Likewise.
|
||||
[!ISO && !POSIX && !XPG3 && !XPG4] (WCHAR_MIN): Use
|
||||
macro-int-constant. Specify type.
|
||||
[!ISO && !POSIX && !XPG3 && !XPG4] (WCHAR_MAX): Likewise. Specify
|
||||
constraint on value.
|
||||
[!ISO && !POSIX && !XPG3 && !XPG4] (WEOF): Use macro-constant.
|
||||
Specify type.
|
||||
[!ISO && !POSIX && !XPG3 && !XPG4] (NULL): Use macro-constant.
|
||||
Specify value.
|
||||
[ISO C standards]: Do not allow headers.
|
||||
[!ISO && !POSIX && !XPG3 && !XPG4] (wcs*): Change to
|
||||
wcs[abcdefghijklmnopqrstuvwxyz]*.
|
||||
[ISO C standards] (*_t): Do not allow.
|
||||
* conform/data/wctype.h-data [C99-based standards] (iswblank):
|
||||
Expect function.
|
||||
[XOPEN2K8 || POSIX2008] (iswblank_l): Likewise.
|
||||
[!ISO && !POSIX && !XPG3 && !XPG4] (WEOF): Use macro-constant.
|
||||
Specify type.
|
||||
[ISO C standards]: Do not allow headers.
|
||||
[!ISO && !POSIX && !XPG3 && !XPG4] (is*): Change to
|
||||
is[abcdefghijklmnopqrstuvwxyz]*.
|
||||
[!ISO && !POSIX && !XPG3 && !XPG4] (to*): Change to
|
||||
to[abcdefghijklmnopqrstuvwxyz]*.
|
||||
[ISO C standards] (*_t): Do not allow.
|
||||
* conform/data/stdalign.h-data: New file.
|
||||
* conform/data/stdbool.h-data: Likewise.
|
||||
* conform/data/stdnoreturn.h-data: Likewise.
|
||||
|
||||
2012-11-07 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
[BZ #14809]
|
||||
|
@ -20,16 +20,16 @@ if (@headers == ()) {
|
||||
"sys/stat.h", "sys/socket.h", "sys/shm.h", "sys/sem.h",
|
||||
"sys/select.h", "sys/resource.h", "sys/msg.h", "sys/mman.h",
|
||||
"sys/ipc.h", "syslog.h", "stropts.h", "strings.h", "string.h",
|
||||
"stdlib.h", "stdio.h", "stdint.h", "stddef.h", "stdarg.h",
|
||||
"spawn.h", "signal.h", "setjmp.h", "semaphore.h", "search.h",
|
||||
"sched.h", "regex.h", "pwd.h", "pthread.h", "poll.h",
|
||||
"nl_types.h", "netinet/tcp.h", "netinet/in.h", "net/if.h",
|
||||
"netdb.h", "ndbm.h", "mqueue.h", "monetary.h", "math.h",
|
||||
"locale.h", "libgen.h", "limits.h", "langinfo.h", "iso646.h",
|
||||
"inttypes.h", "iconv.h", "grp.h", "glob.h", "ftw.h", "fnmatch.h",
|
||||
"fmtmsg.h", "float.h", "fenv.h", "fcntl.h", "errno.h", "dlfcn.h",
|
||||
"dirent.h", "ctype.h", "cpio.h", "complex.h", "assert.h",
|
||||
"arpa/inet.h", "aio.h");
|
||||
"stdnoreturn.h", "stdlib.h", "stdio.h", "stdint.h", "stddef.h",
|
||||
"stdbool.h", "stdarg.h", "stdalign.h", "spawn.h", "signal.h",
|
||||
"setjmp.h", "semaphore.h", "search.h", "sched.h", "regex.h",
|
||||
"pwd.h", "pthread.h", "poll.h", "nl_types.h", "netinet/tcp.h",
|
||||
"netinet/in.h", "net/if.h", "netdb.h", "ndbm.h", "mqueue.h",
|
||||
"monetary.h", "math.h", "locale.h", "libgen.h", "limits.h",
|
||||
"langinfo.h", "iso646.h", "inttypes.h", "iconv.h", "grp.h",
|
||||
"glob.h", "ftw.h", "fnmatch.h", "fmtmsg.h", "float.h", "fenv.h",
|
||||
"fcntl.h", "errno.h", "dlfcn.h", "dirent.h", "ctype.h", "cpio.h",
|
||||
"complex.h", "assert.h", "arpa/inet.h", "aio.h");
|
||||
}
|
||||
|
||||
$CFLAGS{"ISO"} = "-ansi";
|
||||
@ -777,7 +777,7 @@ while ($#headers >= 0) {
|
||||
while ($#allowheader >= 0) {
|
||||
my($ah) = pop @allowheader;
|
||||
|
||||
open (ALLOW, "$CC -E -D$standard - < data/$ah-data |");
|
||||
open (ALLOW, "$CC -E -D$standard -x c data/$ah-data |");
|
||||
acontrol: while (<ALLOW>) {
|
||||
chop;
|
||||
next acontrol if (/^#/);
|
||||
|
@ -79,4 +79,35 @@ macro-function {double complex} CMPLX (double, double)
|
||||
macro-function {float complex} CMPLXF (float, float)
|
||||
macro-function {long double complex} CMPLXL (long double, long double)
|
||||
# endif
|
||||
|
||||
allow cerf
|
||||
allow cerfc
|
||||
allow cexp2
|
||||
allow cexpm1
|
||||
allow clog10
|
||||
allow clog1p
|
||||
allow clog2
|
||||
allow clgamma
|
||||
allow ctgamma
|
||||
|
||||
allow cerff
|
||||
allow cerfcf
|
||||
allow cexp2f
|
||||
allow cexpm1f
|
||||
allow clog10f
|
||||
allow clog1pf
|
||||
allow clog2f
|
||||
allow clgammaf
|
||||
allow ctgammaf
|
||||
|
||||
allow cerfl
|
||||
allow cerfcl
|
||||
allow cexp2l
|
||||
allow cexpm1l
|
||||
allow clog10l
|
||||
allow clog1pl
|
||||
allow clog2l
|
||||
allow clgammal
|
||||
allow ctgammal
|
||||
|
||||
#endif
|
||||
|
@ -1,14 +1,5 @@
|
||||
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||
type int8_t
|
||||
type int16_t
|
||||
type int32_t
|
||||
type int64_t
|
||||
type uint8_t
|
||||
type uint16_t
|
||||
type uint32_t
|
||||
type uint64_t
|
||||
type intptr_t
|
||||
type uintptr_t
|
||||
#include "stdint.h-data"
|
||||
|
||||
type imaxdiv_t
|
||||
element imaxdiv_t intmax_t rem
|
||||
@ -21,125 +12,166 @@ function uintmax_t strtoumax (const char*, char**, int)
|
||||
function intmax_t wcstoimax (const __gwchar_t*, __gwchar_t**, int)
|
||||
function uintmax_t wcstoumax (const __gwchar_t*, __gwchar_t**, int)
|
||||
|
||||
allow PRI*
|
||||
allow SCN*
|
||||
allow *_t
|
||||
macro PRId8
|
||||
macro PRIi8
|
||||
macro PRIo8
|
||||
macro PRIu8
|
||||
macro PRIx8
|
||||
macro PRIX8
|
||||
macro SCNd8
|
||||
macro SCNi8
|
||||
macro SCNo8
|
||||
macro SCNu8
|
||||
macro SCNx8
|
||||
macro PRIdLEAST8
|
||||
macro PRIiLEAST8
|
||||
macro PRIoLEAST8
|
||||
macro PRIuLEAST8
|
||||
macro PRIxLEAST8
|
||||
macro PRIXLEAST8
|
||||
macro SCNdLEAST8
|
||||
macro SCNiLEAST8
|
||||
macro SCNoLEAST8
|
||||
macro SCNuLEAST8
|
||||
macro SCNxLEAST8
|
||||
macro PRIdFAST8
|
||||
macro PRIiFAST8
|
||||
macro PRIoFAST8
|
||||
macro PRIuFAST8
|
||||
macro PRIxFAST8
|
||||
macro PRIXFAST8
|
||||
macro SCNdFAST8
|
||||
macro SCNiFAST8
|
||||
macro SCNoFAST8
|
||||
macro SCNuFAST8
|
||||
macro SCNxFAST8
|
||||
|
||||
// Now the content of <stdint.h>. Update this whenever <stdint.h> changed.
|
||||
type int8_t
|
||||
type int16_t
|
||||
type int32_t
|
||||
type int64_t
|
||||
type uint8_t
|
||||
type uint16_t
|
||||
type uint32_t
|
||||
type uint64_t
|
||||
macro PRId16
|
||||
macro PRIi16
|
||||
macro PRIo16
|
||||
macro PRIu16
|
||||
macro PRIx16
|
||||
macro PRIX16
|
||||
macro SCNd16
|
||||
macro SCNi16
|
||||
macro SCNo16
|
||||
macro SCNu16
|
||||
macro SCNx16
|
||||
macro PRIdLEAST16
|
||||
macro PRIiLEAST16
|
||||
macro PRIoLEAST16
|
||||
macro PRIuLEAST16
|
||||
macro PRIxLEAST16
|
||||
macro PRIXLEAST16
|
||||
macro SCNdLEAST16
|
||||
macro SCNiLEAST16
|
||||
macro SCNoLEAST16
|
||||
macro SCNuLEAST16
|
||||
macro SCNxLEAST16
|
||||
macro PRIdFAST16
|
||||
macro PRIiFAST16
|
||||
macro PRIoFAST16
|
||||
macro PRIuFAST16
|
||||
macro PRIxFAST16
|
||||
macro PRIXFAST16
|
||||
macro SCNdFAST16
|
||||
macro SCNiFAST16
|
||||
macro SCNoFAST16
|
||||
macro SCNuFAST16
|
||||
macro SCNxFAST16
|
||||
|
||||
type int_least8_t
|
||||
type int_least16_t
|
||||
type int_least32_t
|
||||
type int_least64_t
|
||||
type uint_least8_t
|
||||
type uint_least16_t
|
||||
type uint_least32_t
|
||||
type uint_least64_t
|
||||
macro PRId32
|
||||
macro PRIi32
|
||||
macro PRIo32
|
||||
macro PRIu32
|
||||
macro PRIx32
|
||||
macro PRIX32
|
||||
macro SCNd32
|
||||
macro SCNi32
|
||||
macro SCNo32
|
||||
macro SCNu32
|
||||
macro SCNx32
|
||||
macro PRIdLEAST32
|
||||
macro PRIiLEAST32
|
||||
macro PRIoLEAST32
|
||||
macro PRIuLEAST32
|
||||
macro PRIxLEAST32
|
||||
macro PRIXLEAST32
|
||||
macro SCNdLEAST32
|
||||
macro SCNiLEAST32
|
||||
macro SCNoLEAST32
|
||||
macro SCNuLEAST32
|
||||
macro SCNxLEAST32
|
||||
macro PRIdFAST32
|
||||
macro PRIiFAST32
|
||||
macro PRIoFAST32
|
||||
macro PRIuFAST32
|
||||
macro PRIxFAST32
|
||||
macro PRIXFAST32
|
||||
macro SCNdFAST32
|
||||
macro SCNiFAST32
|
||||
macro SCNoFAST32
|
||||
macro SCNuFAST32
|
||||
macro SCNxFAST32
|
||||
|
||||
type int_fast8_t
|
||||
type int_fast16_t
|
||||
type int_fast32_t
|
||||
type int_fast64_t
|
||||
type uint_fast8_t
|
||||
type uint_fast16_t
|
||||
type uint_fast32_t
|
||||
type uint_fast64_t
|
||||
macro PRId64
|
||||
macro PRIi64
|
||||
macro PRIo64
|
||||
macro PRIu64
|
||||
macro PRIx64
|
||||
macro PRIX64
|
||||
macro SCNd64
|
||||
macro SCNi64
|
||||
macro SCNo64
|
||||
macro SCNu64
|
||||
macro SCNx64
|
||||
macro PRIdLEAST64
|
||||
macro PRIiLEAST64
|
||||
macro PRIoLEAST64
|
||||
macro PRIuLEAST64
|
||||
macro PRIxLEAST64
|
||||
macro PRIXLEAST64
|
||||
macro SCNdLEAST64
|
||||
macro SCNiLEAST64
|
||||
macro SCNoLEAST64
|
||||
macro SCNuLEAST64
|
||||
macro SCNxLEAST64
|
||||
macro PRIdFAST64
|
||||
macro PRIiFAST64
|
||||
macro PRIoFAST64
|
||||
macro PRIuFAST64
|
||||
macro PRIxFAST64
|
||||
macro PRIXFAST64
|
||||
macro SCNdFAST64
|
||||
macro SCNiFAST64
|
||||
macro SCNoFAST64
|
||||
macro SCNuFAST64
|
||||
macro SCNxFAST64
|
||||
|
||||
type intptr_t
|
||||
type uintptr_t
|
||||
macro PRIdMAX
|
||||
macro PRIiMAX
|
||||
macro PRIoMAX
|
||||
macro PRIuMAX
|
||||
macro PRIxMAX
|
||||
macro PRIXMAX
|
||||
macro SCNdMAX
|
||||
macro SCNiMAX
|
||||
macro SCNoMAX
|
||||
macro SCNuMAX
|
||||
macro SCNxMAX
|
||||
|
||||
type intmax_t
|
||||
type uintmax_t
|
||||
macro PRIdPTR
|
||||
macro PRIiPTR
|
||||
macro PRIoPTR
|
||||
macro PRIuPTR
|
||||
macro PRIxPTR
|
||||
macro PRIXPTR
|
||||
macro SCNdPTR
|
||||
macro SCNiPTR
|
||||
macro SCNoPTR
|
||||
macro SCNuPTR
|
||||
macro SCNxPTR
|
||||
|
||||
constant INT8_MIN == -128
|
||||
constant INT8_MAX == 127
|
||||
constant INT16_MIN == -32768
|
||||
constant INT16_MAX == 32767
|
||||
constant INT32_MIN == -2147483647-1
|
||||
constant INT32_MAX == 2147483647
|
||||
constant INT64_MIN == -9223372036854775807LL-1
|
||||
constant INT64_MAX == 9223372036854775807LL
|
||||
|
||||
constant UINT8_MAX == 255
|
||||
constant UINT16_MAX == 65535
|
||||
constant UINT32_MAX == 4294967295U
|
||||
constant UINT64_MAX == 18446744073709551615ULL
|
||||
|
||||
constant INT_LEAST8_MIN <= -128
|
||||
constant INT_LEAST8_MAX >= 127
|
||||
constant INT_LEAST16_MIN <= -32768
|
||||
constant INT_LEAST16_MAX >= 32767
|
||||
constant INT_LEAST32_MIN <= -2147483647-1
|
||||
constant INT_LEAST32_MAX >= 2147483647
|
||||
constant INT_LEAST64_MIN <= -9223372036854775807LL-1
|
||||
constant INT_LEAST64_MAX >= 9223372036854775807LL
|
||||
|
||||
constant UINT_LEAST8_MAX >= 255
|
||||
constant UINT_LEAST16_MAX >= 65535
|
||||
constant UINT_LEAST32_MAX >= 4294967295U
|
||||
constant UINT_LEAST64_MAX >= 18446744073709551615ULL
|
||||
|
||||
constant INT_FAST8_MIN <= -128
|
||||
constant INT_FAST8_MAX >= 127
|
||||
constant INT_FAST16_MIN <= -32768
|
||||
constant INT_FAST16_MAX >= 32767
|
||||
constant INT_FAST32_MIN <= -2147483647-1
|
||||
constant INT_FAST32_MAX >= 2147483647
|
||||
constant INT_FAST64_MIN <= -9223372036854775807LL-1
|
||||
constant INT_FAST64_MAX >= 9223372036854775807LL
|
||||
|
||||
constant UINT_FAST8_MAX >= 255
|
||||
constant UINT_FAST16_MAX >= 65535
|
||||
constant UINT_FAST32_MAX >= 4294967295U
|
||||
constant UINT_FAST64_MAX >= 18446744073709551615ULL
|
||||
|
||||
constant INTPTR_MIN <= -32768
|
||||
constant INTPTR_MAX >= 32767
|
||||
|
||||
constant UINTPTR_MAX >= 65535
|
||||
|
||||
constant INTMAX_MIN <= -9223372036854775807LL-1
|
||||
constant INTMAX_MAX >= 9223372036854775807LL
|
||||
|
||||
constant UINTMAX_MAX >= 18446744073709551615ULL
|
||||
|
||||
constant PTRDIFF_MIN <= -65535
|
||||
constant PTRDIFF_MAX >= 65535
|
||||
|
||||
constant SIG_ATOMIC_MIN <= -127
|
||||
constant SIG_ATOMIC_MAX >= 127
|
||||
|
||||
constant SIZE_MAX >= 65535
|
||||
|
||||
constant WCHAR_MIN <= -127
|
||||
constant WCHAR_MAX >= 127
|
||||
|
||||
constant WINT_MIN <= -127
|
||||
constant WINT_MAX >= 127
|
||||
|
||||
macro INT8_C
|
||||
macro INT16_C
|
||||
macro INT32_C
|
||||
macro INT64_C
|
||||
macro UINT8_C
|
||||
macro UINT16_C
|
||||
macro UINT32_C
|
||||
macro UINT64_C
|
||||
macro INTMAX_C
|
||||
macro UINTMAX_C
|
||||
|
||||
// The following expressions are not entirely correct but the current
|
||||
// poorfnmatch implementation doesn't grok the right form.
|
||||
allow INT*
|
||||
allow UINT*
|
||||
allow PRI[Xa-z]*
|
||||
allow SCN[Xa-z]*
|
||||
#endif
|
||||
|
@ -11,5 +11,7 @@ macro or_eq
|
||||
macro xor
|
||||
macro xor_eq
|
||||
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||
allow *_t
|
||||
#endif
|
||||
#endif
|
||||
|
6
conform/data/stdalign.h-data
Normal file
6
conform/data/stdalign.h-data
Normal file
@ -0,0 +1,6 @@
|
||||
#if defined ISO11
|
||||
macro alignas
|
||||
macro alignof
|
||||
macro-int-constant __alignas_is_defined {int} == 1
|
||||
macro-int-constant __alignof_is_defined {int} == 1
|
||||
#endif
|
10
conform/data/stdbool.h-data
Normal file
10
conform/data/stdbool.h-data
Normal file
@ -0,0 +1,10 @@
|
||||
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||
macro bool
|
||||
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
|
||||
allow *_t
|
||||
#endif
|
||||
#endif
|
@ -1,4 +1,5 @@
|
||||
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||
// The requirements for some types and corresponding macros are from POSIX.
|
||||
type int8_t
|
||||
type int16_t
|
||||
type int32_t
|
||||
@ -32,71 +33,71 @@ type uintptr_t
|
||||
type intmax_t
|
||||
type uintmax_t
|
||||
|
||||
constant INT8_MIN == -128
|
||||
constant INT8_MAX == 127
|
||||
constant INT16_MIN == -32768
|
||||
constant INT16_MAX == 32767
|
||||
constant INT32_MIN == -2147483647-1
|
||||
constant INT32_MAX == 2147483647
|
||||
constant INT64_MIN == -9223372036854775807LL-1
|
||||
constant INT64_MAX == 9223372036854775807LL
|
||||
macro-int-constant INT8_MIN {promoted:int8_t} == -128
|
||||
macro-int-constant INT8_MAX {promoted:int8_t} == 127
|
||||
macro-int-constant INT16_MIN {promoted:int16_t} == -32768
|
||||
macro-int-constant INT16_MAX {promoted:int16_t} == 32767
|
||||
macro-int-constant INT32_MIN {promoted:int32_t} == -2147483647-1
|
||||
macro-int-constant INT32_MAX {promoted:int32_t} == 2147483647
|
||||
macro-int-constant INT64_MIN {promoted:int64_t} == -9223372036854775807LL-1
|
||||
macro-int-constant INT64_MAX {promoted:int64_t} == 9223372036854775807LL
|
||||
|
||||
constant UINT8_MAX == 255
|
||||
constant UINT16_MAX == 65535
|
||||
constant UINT32_MAX == 4294967295U
|
||||
constant UINT64_MAX == 18446744073709551615ULL
|
||||
macro-int-constant UINT8_MAX {promoted:uint8_t} == 255
|
||||
macro-int-constant UINT16_MAX {promoted:uint16_t} == 65535
|
||||
macro-int-constant UINT32_MAX {promoted:uint32_t} == 4294967295U
|
||||
macro-int-constant UINT64_MAX {promoted:uint64_t} == 18446744073709551615ULL
|
||||
|
||||
constant INT_LEAST8_MIN <= -128
|
||||
constant INT_LEAST8_MAX >= 127
|
||||
constant INT_LEAST16_MIN <= -32768
|
||||
constant INT_LEAST16_MAX >= 32767
|
||||
constant INT_LEAST32_MIN <= -2147483647-1
|
||||
constant INT_LEAST32_MAX >= 2147483647
|
||||
constant INT_LEAST64_MIN <= -9223372036854775807LL-1
|
||||
constant INT_LEAST64_MAX >= 9223372036854775807LL
|
||||
macro-int-constant INT_LEAST8_MIN {promoted:int_least8_t} <= -128
|
||||
macro-int-constant INT_LEAST8_MAX {promoted:int_least8_t} >= 127
|
||||
macro-int-constant INT_LEAST16_MIN {promoted:int_least16_t} <= -32768
|
||||
macro-int-constant INT_LEAST16_MAX {promoted:int_least16_t} >= 32767
|
||||
macro-int-constant INT_LEAST32_MIN {promoted:int_least32_t} <= -2147483647-1
|
||||
macro-int-constant INT_LEAST32_MAX {promoted:int_least32_t} >= 2147483647
|
||||
macro-int-constant INT_LEAST64_MIN {promoted:int_least64_t} <= -9223372036854775807LL-1
|
||||
macro-int-constant INT_LEAST64_MAX {promoted:int_least64_t} >= 9223372036854775807LL
|
||||
|
||||
constant UINT_LEAST8_MAX >= 255
|
||||
constant UINT_LEAST16_MAX >= 65535
|
||||
constant UINT_LEAST32_MAX >= 4294967295U
|
||||
constant UINT_LEAST64_MAX >= 18446744073709551615ULL
|
||||
macro-int-constant UINT_LEAST8_MAX {promoted:uint_least8_t} >= 255
|
||||
macro-int-constant UINT_LEAST16_MAX {promoted:uint_least16_t} >= 65535
|
||||
macro-int-constant UINT_LEAST32_MAX {promoted:uint_least32_t} >= 4294967295U
|
||||
macro-int-constant UINT_LEAST64_MAX {promoted:uint_least64_t} >= 18446744073709551615ULL
|
||||
|
||||
constant INT_FAST8_MIN <= -128
|
||||
constant INT_FAST8_MAX >= 127
|
||||
constant INT_FAST16_MIN <= -32768
|
||||
constant INT_FAST16_MAX >= 32767
|
||||
constant INT_FAST32_MIN <= -2147483647-1
|
||||
constant INT_FAST32_MAX >= 2147483647
|
||||
constant INT_FAST64_MIN <= -9223372036854775807LL-1
|
||||
constant INT_FAST64_MAX >= 9223372036854775807LL
|
||||
macro-int-constant INT_FAST8_MIN {promoted:int_fast8_t} <= -128
|
||||
macro-int-constant INT_FAST8_MAX {promoted:int_fast8_t} >= 127
|
||||
macro-int-constant INT_FAST16_MIN {promoted:int_fast16_t} <= -32768
|
||||
macro-int-constant INT_FAST16_MAX {promoted:int_fast16_t} >= 32767
|
||||
macro-int-constant INT_FAST32_MIN {promoted:int_fast32_t} <= -2147483647-1
|
||||
macro-int-constant INT_FAST32_MAX {promoted:int_fast32_t} >= 2147483647
|
||||
macro-int-constant INT_FAST64_MIN {promoted:int_fast64_t} <= -9223372036854775807LL-1
|
||||
macro-int-constant INT_FAST64_MAX {promoted:int_fast64_t} >= 9223372036854775807LL
|
||||
|
||||
constant UINT_FAST8_MAX >= 255
|
||||
constant UINT_FAST16_MAX >= 65535
|
||||
constant UINT_FAST32_MAX >= 4294967295U
|
||||
constant UINT_FAST64_MAX >= 18446744073709551615ULL
|
||||
macro-int-constant UINT_FAST8_MAX {promoted:uint_fast8_t} >= 255
|
||||
macro-int-constant UINT_FAST16_MAX {promoted:uint_fast16_t} >= 65535
|
||||
macro-int-constant UINT_FAST32_MAX {promoted:uint_fast32_t} >= 4294967295U
|
||||
macro-int-constant UINT_FAST64_MAX {promoted:uint_fast64_t} >= 18446744073709551615ULL
|
||||
|
||||
constant INTPTR_MIN <= -32768
|
||||
constant INTPTR_MAX >= 32767
|
||||
macro-int-constant INTPTR_MIN {promoted:intptr_t} <= -32768
|
||||
macro-int-constant INTPTR_MAX {promoted:intptr_t} >= 32767
|
||||
|
||||
constant UINTPTR_MAX >= 65535
|
||||
macro-int-constant UINTPTR_MAX {promoted:uintptr_t} >= 65535
|
||||
|
||||
constant INTMAX_MIN <= -9223372036854775807LL-1
|
||||
constant INTMAX_MAX >= 9223372036854775807LL
|
||||
macro-int-constant INTMAX_MIN {promoted:intmax_t} <= -9223372036854775807LL-1
|
||||
macro-int-constant INTMAX_MAX {promoted:intmax_t} >= 9223372036854775807LL
|
||||
|
||||
constant UINTMAX_MAX >= 18446744073709551615ULL
|
||||
macro-int-constant UINTMAX_MAX {promoted:uintmax_t} >= 18446744073709551615ULL
|
||||
|
||||
constant PTRDIFF_MIN <= -65535
|
||||
constant PTRDIFF_MAX >= 65535
|
||||
macro-int-constant PTRDIFF_MIN {promoted:__PTRDIFF_TYPE__} <= -65535
|
||||
macro-int-constant PTRDIFF_MAX {promoted:__PTRDIFF_TYPE__} >= 65535
|
||||
|
||||
constant SIG_ATOMIC_MIN <= -127
|
||||
constant SIG_ATOMIC_MAX >= 127
|
||||
macro-int-constant SIG_ATOMIC_MIN {promoted:__SIG_ATOMIC_TYPE__}
|
||||
macro-int-constant SIG_ATOMIC_MAX {promoted:__SIG_ATOMIC_TYPE__} >= 127
|
||||
|
||||
constant SIZE_MAX >= 65535
|
||||
macro-int-constant SIZE_MAX {promoted:__SIZE_TYPE__} >= 65535
|
||||
|
||||
constant WCHAR_MIN <= -127
|
||||
constant WCHAR_MAX >= 127
|
||||
macro-int-constant WCHAR_MIN {promoted:__WCHAR_TYPE__}
|
||||
macro-int-constant WCHAR_MAX {promoted:__WCHAR_TYPE__} >= 127
|
||||
|
||||
constant WINT_MIN <= -127
|
||||
constant WINT_MAX >= 127
|
||||
macro-int-constant WINT_MIN {promoted:__WINT_TYPE__}
|
||||
macro-int-constant WINT_MAX {promoted:__WINT_TYPE__} >= 127
|
||||
|
||||
macro INT8_C
|
||||
macro INT16_C
|
||||
@ -110,7 +111,9 @@ macro INTMAX_C
|
||||
macro UINTMAX_C
|
||||
|
||||
// The following expressions are not entirely correct but the current
|
||||
// fnamtch implementation doesn't grok the right form.
|
||||
// poorfnmatch implementation doesn't grok the right forms (INT*_MAX,
|
||||
// INT*_MIN, INT*_C, UINT*_MAX, UINT*_MIN, UINT*_C, int*_t, uint*_t).
|
||||
allow INT*
|
||||
allow UINT*
|
||||
allow *_t
|
||||
#endif
|
||||
|
3
conform/data/stdnoreturn.h-data
Normal file
3
conform/data/stdnoreturn.h-data
Normal file
@ -0,0 +1,3 @@
|
||||
#if defined ISO11
|
||||
macro noreturn
|
||||
#endif
|
@ -1,364 +1,7 @@
|
||||
#if defined XOPEN2K || defined POSIX2008
|
||||
// <math.h>
|
||||
macro fpclassify
|
||||
macro isfinite
|
||||
macro isinf
|
||||
macro isnan
|
||||
macro isnormal
|
||||
macro signbit
|
||||
macro isgreater
|
||||
macro isgreaterequal
|
||||
macro isless
|
||||
macro islessequal
|
||||
macro islessgreater
|
||||
macro isunordered
|
||||
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||
#include "math.h-data"
|
||||
#include "complex.h-data"
|
||||
|
||||
#ifndef POSIX2008
|
||||
constant M_E
|
||||
constant M_LOG2E
|
||||
constant M_LOG10E
|
||||
constant M_LN2
|
||||
constant M_LN10
|
||||
constant M_PI
|
||||
constant M_PI_2
|
||||
constant M_PI_4
|
||||
constant M_1_PI
|
||||
constant M_2_PI
|
||||
constant M_2_SQRTPI
|
||||
constant M_SQRT2
|
||||
constant M_SQRT1_2
|
||||
|
||||
constant MAXFLOAT
|
||||
#endif
|
||||
constant HUGE_VAL
|
||||
constant HUGE_VALF
|
||||
constant HUGE_VALL
|
||||
constant INFINITY
|
||||
constant NAN
|
||||
|
||||
macro FP_INFINITE
|
||||
macro FP_NAN
|
||||
macro FP_NORMAL
|
||||
macro FP_SUBNORMAL
|
||||
macro FP_ZERO
|
||||
|
||||
optional-macro FP_FAST_FMA
|
||||
optional-macro FP_FAST_FMAF
|
||||
optional-macro FP_FAST_FMAL
|
||||
|
||||
constant FP_ILOGB0
|
||||
constant FP_ILOGBNAN
|
||||
|
||||
macro MATH_ERRNO == 1
|
||||
macro MATH_ERREXCEPT == 2
|
||||
|
||||
macro math_errhandling
|
||||
|
||||
function double acos (double)
|
||||
function double asin (double)
|
||||
function double atan (double)
|
||||
function double atan2 (double, double)
|
||||
function double ceil (double)
|
||||
function double copysign (double, double)
|
||||
function double cos (double)
|
||||
function double cosh (double)
|
||||
function double exp (double)
|
||||
function double exp2 (double)
|
||||
function double fabs (double)
|
||||
function double floor (double)
|
||||
function double fmod (double, double)
|
||||
function double frexp (double, int*)
|
||||
function double ldexp (double, int)
|
||||
function double log (double)
|
||||
function double log10 (double)
|
||||
function double log2 (double)
|
||||
function double modf (double, double*)
|
||||
function double pow (double, double)
|
||||
function double sin (double)
|
||||
function double sinh (double)
|
||||
function double sqrt (double)
|
||||
function double tan (double)
|
||||
function double tanh (double)
|
||||
function double erf (double)
|
||||
function double erfc (double)
|
||||
#if defined XPG3 || defined XPG4 || defined UNIX98
|
||||
function double gamma (double)
|
||||
#endif
|
||||
function double hypot (double, double)
|
||||
#if !defined POSIX && !defined POSIX2008
|
||||
function double j0 (double)
|
||||
function double j1 (double)
|
||||
function double jn (int, double)
|
||||
#endif
|
||||
function double lgamma (double)
|
||||
function double tgamma (double)
|
||||
#if !defined POSIX && !defined POSIX2008
|
||||
function double y0 (double)
|
||||
function double y1 (double)
|
||||
function double yn (int, double)
|
||||
#endif
|
||||
function double acosh (double)
|
||||
function double asinh (double)
|
||||
function double atanh (double)
|
||||
function double cbrt (double)
|
||||
function double expm1 (double)
|
||||
function int ilogb (double)
|
||||
function double log1p (double)
|
||||
function double logb (double)
|
||||
function double nextafter (double, double)
|
||||
function double nexttoward (double, long double)
|
||||
function double nearbyint (double)
|
||||
function double remainder (double, double)
|
||||
function double rint (double)
|
||||
function double round (double)
|
||||
function double trunc (double)
|
||||
function long lrint (double)
|
||||
function {long long} llrint (double)
|
||||
function long lround (double)
|
||||
function {long long} llround (double)
|
||||
function double remquo (double, double, int*)
|
||||
#if defined XPG3 && defined XPG4 && defined UNIX98 && defined XOPEN2K
|
||||
function double scalb (double, double)
|
||||
#endif
|
||||
function double scalbn (double, int)
|
||||
function double scalbln (double, long)
|
||||
function double fdim (double, double)
|
||||
function double fmax (double, double)
|
||||
function double fmin (double, double)
|
||||
function double fma (double, double, double)
|
||||
function double nan (const char*)
|
||||
|
||||
// variable signgam
|
||||
allow signgam
|
||||
|
||||
function float acosf (float)
|
||||
function float asinf (float)
|
||||
function float atanf (float)
|
||||
function float atan2f (float, float)
|
||||
function float ceilf (float)
|
||||
function float copysignf (float, float)
|
||||
function float cosf (float)
|
||||
function float coshf (float)
|
||||
function float expf (float)
|
||||
function float exp2f (float)
|
||||
function float fabsf (float)
|
||||
function float floorf (float)
|
||||
function float fmodf (float, float)
|
||||
function float frexpf (float, int*)
|
||||
function float ldexpf (float, int)
|
||||
function float logf (float)
|
||||
function float log10f (float)
|
||||
function float log2f (float)
|
||||
function float modff (float, float*)
|
||||
function float powf (float, float)
|
||||
function float sinf (float)
|
||||
function float sinhf (float)
|
||||
function float sqrtf (float)
|
||||
function float tanf (float)
|
||||
function float tanhf (float)
|
||||
function float erff (float)
|
||||
function float erfcf (float)
|
||||
#if defined XPG3 || defined XPG4 || defined UNIX98
|
||||
function float gammaf (float)
|
||||
#endif
|
||||
function float hypotf (float, float)
|
||||
#if !defined POSIX && !defined POSIX2008
|
||||
function float j0f (float)
|
||||
function float j1f (float)
|
||||
function float jnf (int, float)
|
||||
#endif
|
||||
function float lgammaf (float)
|
||||
function float tgammaf (float)
|
||||
#if !defined POSIX && !defined POSIX2008
|
||||
function float y0f (float)
|
||||
function float y1f (float)
|
||||
function float ynf (int, float)
|
||||
#endif
|
||||
function float acoshf (float)
|
||||
function float asinhf (float)
|
||||
function float atanhf (float)
|
||||
function float cbrtf (float)
|
||||
function float expm1f (float)
|
||||
function int ilogbf (float)
|
||||
function float log1pf (float)
|
||||
function float logbf (float)
|
||||
function float nextafterf (float, float)
|
||||
function float nexttowardf (float, long double)
|
||||
function float nearbyintf (float)
|
||||
function float remainderf (float, float)
|
||||
function float rintf (float)
|
||||
function float roundf (float)
|
||||
function float truncf (float)
|
||||
function long lrintf (float)
|
||||
function {long long} llrintf (float)
|
||||
function long lroundf (float)
|
||||
function {long long} llroundf (float)
|
||||
function float remquof (float, float, int*)
|
||||
#if defined XPG3 && defined XPG4 && defined UNIX98 && defined XOPEN2K
|
||||
function float scalbf (float, float)
|
||||
#endif
|
||||
function float scalbnf (float, int)
|
||||
function float scalblnf (float, long)
|
||||
function float fdimf (float, float)
|
||||
function float fmaxf (float, float)
|
||||
function float fminf (float, float)
|
||||
function float fmaf (float, float, float)
|
||||
function float nanf (const char*)
|
||||
|
||||
function {long double} acosl (long double)
|
||||
function {long double} asinl (long double)
|
||||
function {long double} atanl (long double)
|
||||
function {long double} atan2l (long double, long double)
|
||||
function {long double} ceill (long double)
|
||||
function {long double} copysignl (long double, long double)
|
||||
function {long double} cosl (long double)
|
||||
function {long double} coshl (long double)
|
||||
function {long double} expl (long double)
|
||||
function {long double} exp2l (long double)
|
||||
function {long double} fabsl (long double)
|
||||
function {long double} floorl (long double)
|
||||
function {long double} fmodl (long double, long double)
|
||||
function {long double} frexpl (long double, int*)
|
||||
function {long double} ldexpl (long double, int)
|
||||
function {long double} logl (long double)
|
||||
function {long double} log10l (long double)
|
||||
function {long double} log2l (long double)
|
||||
function {long double} modfl (long double, long double*)
|
||||
function {long double} powl (long double, long double)
|
||||
function {long double} sinl (long double)
|
||||
function {long double} sinhl (long double)
|
||||
function {long double} sqrtl (long double)
|
||||
function {long double} tanl (long double)
|
||||
function {long double} tanhl (long double)
|
||||
function {long double} erfl (long double)
|
||||
function {long double} erfcl (long double)
|
||||
#if defined XPG3 || defined XPG4 || defined UNIX98
|
||||
function {long double} gammal (long double)
|
||||
#endif
|
||||
function {long double} hypotl (long double, long double)
|
||||
#if !defined POSIX && !defined POSIX2008
|
||||
function {long double} j0l (long double)
|
||||
function {long double} j1l (long double)
|
||||
function {long double} jnl (int, long double)
|
||||
#endif
|
||||
function {long double} lgammal (long double)
|
||||
function {long double} tgammal (long double)
|
||||
#if !defined POSIX && !defined POSIX2008
|
||||
function {long double} y0l (long double)
|
||||
function {long double} y1l (long double)
|
||||
function {long double} ynl (int, long double)
|
||||
#endif
|
||||
function {long double} acoshl (long double)
|
||||
function {long double} asinhl (long double)
|
||||
function {long double} atanhl (long double)
|
||||
function {long double} cbrtl (long double)
|
||||
function {long double} expm1l (long double)
|
||||
function int ilogbl (long double)
|
||||
function {long double} log1pl (long double)
|
||||
function {long double} logbl (long double)
|
||||
function {long double} nextafterl (long double, long double)
|
||||
function {long double} nexttowardl (long double, long double)
|
||||
function {long double} nearbyintl (long double)
|
||||
function {long double} remainderl (long double, long double)
|
||||
function {long double} rintl (long double)
|
||||
function {long double} roundl (long double)
|
||||
function {long double} truncl (long double)
|
||||
function long lrintl (long double)
|
||||
function {long long} llrintl (long double)
|
||||
function long lroundl (long double)
|
||||
function {long long} llroundl (long double)
|
||||
function {long double} remquol (long double, long double, int*)
|
||||
#if defined XPG3 && defined XPG4 && defined UNIX98 && defined XOPEN2K
|
||||
function {long double} scalbl (long double, long double)
|
||||
#endif
|
||||
function {long double} scalbnl (long double, int)
|
||||
function {long double} scalblnl (long double, long)
|
||||
function {long double} fdiml (long double, long double)
|
||||
function {long double} fmaxl (long double, long double)
|
||||
function {long double} fminl (long double, long double)
|
||||
function {long double} fmal (long double, long double, long double)
|
||||
function {long double} nanl (const char*)
|
||||
|
||||
allow *_t
|
||||
allow FP_*
|
||||
|
||||
// <complex.h>
|
||||
macro complex
|
||||
macro _Complex_I
|
||||
optional-macro imaginary
|
||||
optional-macro _Imaginary_I
|
||||
macro I
|
||||
|
||||
function double cabs (double complex)
|
||||
function {double complex} cacos (double complex)
|
||||
function {double complex} cacosh (double complex)
|
||||
function double carg (double complex)
|
||||
function {double complex} casin (double complex)
|
||||
function {double complex} casinh (double complex)
|
||||
function {double complex} catan (double complex)
|
||||
function {double complex} catanh (double complex)
|
||||
function {double complex} ccos (double complex)
|
||||
function {double complex} ccosh (double complex)
|
||||
function {double complex} cexp (double complex)
|
||||
function double cimag (double complex)
|
||||
function {double complex} clog (double complex)
|
||||
function {double complex} conj (double complex)
|
||||
function {double complex} cpow (double complex, double complex)
|
||||
function {double complex} cproj (double complex)
|
||||
function double creal (double complex)
|
||||
function {double complex} csin (double complex)
|
||||
function {double complex} csinh (double complex)
|
||||
function {double complex} csqrt (double complex)
|
||||
function {double complex} ctan (double complex)
|
||||
function {double complex} ctanh (double complex)
|
||||
|
||||
function float cabsf (float complex)
|
||||
function {float complex} cacosf (float complex)
|
||||
function {float complex} cacoshf (float complex)
|
||||
function float cargf (float complex)
|
||||
function {float complex} casinf (float complex)
|
||||
function {float complex} casinhf (float complex)
|
||||
function {float complex} catanf (float complex)
|
||||
function {float complex} catanhf (float complex)
|
||||
function {float complex} ccosf (float complex)
|
||||
function {float complex} ccoshf (float complex)
|
||||
function {float complex} cexpf (float complex)
|
||||
function float cimagf (float complex)
|
||||
function {float complex} clogf (float complex)
|
||||
function {float complex} conjf (float complex)
|
||||
function {float complex} cpowf (float complex, float complex)
|
||||
function {float complex} cprojf (float complex)
|
||||
function float crealf (float complex)
|
||||
function {float complex} csinf (float complex)
|
||||
function {float complex} csinhf (float complex)
|
||||
function {float complex} csqrtf (float complex)
|
||||
function {float complex} ctanf (float complex)
|
||||
function {float complex} ctanhf (float complex)
|
||||
|
||||
function {long double} cabsl (long double complex)
|
||||
function {long double complex} cacosl (long double complex)
|
||||
function {long double complex} cacoshl (long double complex)
|
||||
function {long double} cargl (long double complex)
|
||||
function {long double complex} casinhl (long double complex)
|
||||
function {long double complex} casinl (long double complex)
|
||||
function {long double complex} catanhl (long double complex)
|
||||
function {long double complex} catanl (long double complex)
|
||||
function {long double complex} ccoshl (long double complex)
|
||||
function {long double complex} ccosl (long double complex)
|
||||
function {long double complex} cexpl (long double complex)
|
||||
function {long double} cimagl (long double complex)
|
||||
function {long double complex} clogl (long double complex)
|
||||
function {long double complex} conjl (long double complex)
|
||||
function {long double complex} cpowl (long double complex, long double complex)
|
||||
function {long double complex} cprojl (long double complex)
|
||||
function {long double} creall (long double complex)
|
||||
function {long double complex} csinhl (long double complex)
|
||||
function {long double complex} csinl (long double complex)
|
||||
function {long double complex} csqrtl (long double complex)
|
||||
function {long double complex} ctanhl (long double complex)
|
||||
function {long double complex} ctanl (long double complex)
|
||||
|
||||
// <tgmath.h>
|
||||
macro acos
|
||||
macro asin
|
||||
macro atan
|
||||
|
@ -5,7 +5,7 @@ type char16_t
|
||||
type char32_t
|
||||
|
||||
function size_t mbrtoc16 (char16_t *, const char *, size_t, mbstate_t *)
|
||||
function size_t c16rtomb (char *, char16_t, mbstate_t *)16
|
||||
function size_t c16rtomb (char *, char16_t, mbstate_t *)
|
||||
function size_t mbrtoc32 (char32_t *, const char *, size_t, mbstate_t *)
|
||||
function size_t c32rtomb (char *, char32_t, mbstate_t *)
|
||||
|
||||
|
@ -14,6 +14,7 @@ type size_t
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
type locale_t
|
||||
# endif
|
||||
tag {struct tm}
|
||||
|
||||
function wint_t btowc (int)
|
||||
function int fwprintf (FILE*, const wchar_t*, ...)
|
||||
@ -104,9 +105,19 @@ function size_t wcsrtombs (char*, const wchar_t**, size_t, mbstate_t*)
|
||||
function size_t wcsspn (const wchar_t*, const wchar_t*)
|
||||
function {wchar_t*} wcsstr (const wchar_t*, const wchar_t*)
|
||||
function double wcstod (const wchar_t*, wchar_t**)
|
||||
# ifndef UNIX98
|
||||
function float wcstof (const wchar_t*, wchar_t**)
|
||||
function {long double} wcstold (const wchar_t*, wchar_t**)
|
||||
# endif
|
||||
function {wchar_t*} wcstok (wchar_t*, const wchar_t*, wchar_t**)
|
||||
function {long int} wcstol (const wchar_t*, wchar_t**, int)
|
||||
# ifndef UNIX98
|
||||
function {long long int} wcstoll (const wchar_t*, wchar_t**, int)
|
||||
# endif
|
||||
function {unsigned long int} wcstoul (const wchar_t*, wchar_t**, int)
|
||||
# ifndef UNIX98
|
||||
function {unsigned long long int} wcstoull (const wchar_t*, wchar_t**, int)
|
||||
# endif
|
||||
# if defined UNIX98 || defined XOPEN2K
|
||||
function {wchar_t*} wcswcs (const wchar_t*, const wchar_t*)
|
||||
# endif
|
||||
@ -130,11 +141,12 @@ function {wchar_t*} wmemset (wchar_t*, wchar_t, size_t)
|
||||
function int wprintf (const wchar_t*, ...)
|
||||
function int wscanf (const wchar_t*, ...)
|
||||
|
||||
macro WCHAR_MAX
|
||||
macro WCHAR_MIN
|
||||
macro WEOF
|
||||
macro NULL
|
||||
macro-int-constant WCHAR_MIN {promoted:wchar_t}
|
||||
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
|
||||
allow-header ctype.h
|
||||
allow-header stdio.h
|
||||
allow-header stdarg.h
|
||||
@ -142,7 +154,10 @@ allow-header stdlib.h
|
||||
allow-header string.h
|
||||
allow-header stddef.h
|
||||
allow-header time.h
|
||||
#endif
|
||||
|
||||
allow wcs*
|
||||
allow wcs[abcdefghijklmnopqrstuvwxyz]*
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||
allow *_t
|
||||
#endif
|
||||
#endif
|
||||
|
@ -8,6 +8,9 @@ type locale_t
|
||||
|
||||
function int iswalnum (wint_t)
|
||||
function int iswalpha (wint_t)
|
||||
# ifndef UNIX98
|
||||
function int iswblank (wint_t)
|
||||
# endif
|
||||
function int iswcntrl (wint_t)
|
||||
function int iswdigit (wint_t)
|
||||
function int iswgraph (wint_t)
|
||||
@ -26,6 +29,7 @@ function wctype_t wctype (const char*)
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
function int iswalnum_l (wint_t, locale_t)
|
||||
function int iswalpha_l (wint_t, locale_t)
|
||||
function int iswblank_l (wint_t, locale_t)
|
||||
function int iswcntrl_l (wint_t, locale_t)
|
||||
function int iswdigit_l (wint_t, locale_t)
|
||||
function int iswgraph_l (wint_t, locale_t)
|
||||
@ -43,8 +47,9 @@ function wctrans_t wctrans_l (const char*, locale_t)
|
||||
function wctype_t wctype_l (const char*, locale_t)
|
||||
# endif
|
||||
|
||||
macro WEOF
|
||||
macro-constant WEOF {wint_t}
|
||||
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||
allow-header ctype.h
|
||||
allow-header stdio.h
|
||||
allow-header stdarg.h
|
||||
@ -53,8 +58,11 @@ allow-header string.h
|
||||
allow-header stddef.h
|
||||
allow-header time.h
|
||||
allow-header wchar.h
|
||||
#endif
|
||||
|
||||
allow is*
|
||||
allow to*
|
||||
allow is[abcdefghijklmnopqrstuvwxyz]*
|
||||
allow to[abcdefghijklmnopqrstuvwxyz]*
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||
allow *_t
|
||||
#endif
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user