From b1cc2472d26084ec88b53606baabb82ec6b80db2 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 9 May 2012 10:04:19 +0000 Subject: [PATCH] conformtest: Update expectations for more ISO C headers. --- ChangeLog | 140 +++++++++++++++++++++++++++++++++++++++++++++ conform/data/locale.h-data | 22 ++++--- conform/data/math.h-data | 106 +++++++++------------------------- conform/data/setjmp.h-data | 2 + conform/data/signal.h-data | 66 ++++++++++----------- conform/data/stdarg.h-data | 2 + 6 files changed, 218 insertions(+), 120 deletions(-) diff --git a/ChangeLog b/ChangeLog index 81d17c9..80651f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,143 @@ +2012-05-09 Joseph Myers + + * conform/data/locale.h-data (NULL): Use macro-constant. Require + == 0. + (LC_ALL): Use macro-int-constant. + (LC_COLLATE): Likewise. + (LC_CTYPE): Likewise. + (LC_MESSAGES): Likewise. + (LC_MONETARY): Likewise. + (LC_NUMERIC): Likewise. + (LC_TIME): Likewise. + [ISO || ISO99 || ISO11] (LC_MESSAGES): Do not require. + (LC_*): Change to LC_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*. + [ISO || ISO99 || ISO11] (*_t): Do not allow. + * conform/data/math.h-data (HUGE_VAL): Use macro-constant. + Specify type. + [C99-based standards] (float_t): Expect type. + [C99-based standards] (double_t): Expect type. + [C99-based standards] (HUGE_VALF): Use macro-constant. Specify + type. + [C99-based standards] (HUGE_VALL): Likewise. + [C99-based standards] (INFINITY): Likewise. + [C99-based standards] (NAN): Likewise. + [C99-based standards] (FP_INFINITE): Use macro-int-constant. + [C99-based standards] (FP_NAN): Likewise. + [C99-based standards] (FP_NORMAL): Likewise. + [C99-based standards] (FP_SUBNORMAL): Likewise. + [C99-based standards] (FP_ZERO): Likewise. + [C99-based standards] (FP_FAST_FMA): Use + optional-macro-int-constant. Specify type. Require == 1. + [C99-based standards] (FP_FAST_FMAF): Likewise. + [C99-based standards] (FP_FAST_FMAL): Likewise. + [C99-based standards] (FP_ILOGB0): Use macro-int-constant. + [C99-based standards] (FP_ILOGBNAN): Likewise. + [C99-based standards] (MATH_ERRNO): Use macro-int-constant. + Specify type. + [C99-based standards] (MATH_ERREXCEPT): Likewise. + [C99-based standards] (math_errhandling): Specify type. + [ISO99 || ISO11] (signgam): Do not allow. + [non-C99-based standards] (copysignf): Do not allow. + [non-C99-based standards] (exp2f): Likewise. + [non-C99-based standards] (log2f): Likewise. + [non-C99-based standards] (modff): Allow. + [non-C99-based standards] (erff): Do not allow. + [non-C99-based standards] (erfcf): Likewise. + [non-C99-based standards] (gammaf): Likewise. + [non-C99-based standards] (hypotf): Likewise. + [non-C99-based standards] (j0f): Likewise. + [non-C99-based standards] (j1f): Likewise. + [non-C99-based standards] (jnf): Likewise. + [non-C99-based standards] (lgammaf): Likewise. + [non-C99-based standards] (tgammaf): Likewise. + [non-C99-based standards] (y0f): Likewise. + [non-C99-based standards] (y1f): Likewise. + [non-C99-based standards] (ynf): Likewise. + [non-C99-based standards] (isnanf): Likewise. + [non-C99-based standards] (acoshf): Likewise. + [non-C99-based standards] (asinhf): Likewise. + [non-C99-based standards] (atanhf): Likewise. + [non-C99-based standards] (cbrtf): Likewise. + [non-C99-based standards] (expm1f): Likewise. + [non-C99-based standards] (ilogbf): Likewise. + [non-C99-based standards] (log1pf): Likewise. + [non-C99-based standards] (logbf): Likewise. + [non-C99-based standards] (nextafterf): Likewise. + [non-C99-based standards] (remainderf): Likewise. + [non-C99-based standards] (rintf): Likewise. + [non-C99-based standards] (scalbf): Likewise. + [non-C99-based standards] (copysignl): Likewise. + [non-C99-based standards] (exp2l): Likewise. + [non-C99-based standards] (log2l): Likewise. + [non-C99-based standards] (modfl): Allow. + [non-C99-based standards] (erfl): Do not allow. + [non-C99-based standards] (erfcl): Likewise. + [non-C99-based standards] (gammal): Likewise. + [non-C99-based standards] (hypotl): Likewise. + [non-C99-based standards] (j0l): Likewise. + [non-C99-based standards] (j1l): Likewise. + [non-C99-based standards] (jnl): Likewise. + [non-C99-based standards] (lgammal): Likewise. + [non-C99-based standards] (tgammal): Likewise. + [non-C99-based standards] (y0l): Likewise. + [non-C99-based standards] (y1l): Likewise. + [non-C99-based standards] (ynl): Likewise. + [non-C99-based standards] (isnanl): Likewise. + [non-C99-based standards] (acoshl): Likewise. + [non-C99-based standards] (asinhl): Likewise. + [non-C99-based standards] (atanhl): Likewise. + [non-C99-based standards] (cbrtl): Likewise. + [non-C99-based standards] (expm1l): Likewise. + [non-C99-based standards] (ilogbl): Likewise. + [non-C99-based standards] (log1pl): Likewise. + [non-C99-based standards] (logbl): Likewise. + [non-C99-based standards] (nextafterl): Likewise. + [non-C99-based standards] (remainderl): Likewise. + [non-C99-based standards] (rintl): Likewise. + [non-C99-based standards] (scalbl): Likewise. + [ISO || ISO99 || ISO11] (*_t): Do not allow. + [non-C99-based standards] (FP_*): Do not allow. + [C99-based standards] (FP_*): Change to + FP_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*. + * conform/data/setjmp.h-data [ISO || ISO99 || ISO11] (*_t): Do not + allow. + * conform/data/signal.h-data (SIG_DFL): Use macro-constant. + (SIG_ERR): Likewise. + [X/Open-based standards] (SIG_HOLD): Likewise. + (SIG_IGN): Likewise. + (SIGABRT): Use macro-int-constant. Specify type. Require + positive value. + (SIGFPE): Likewise. + (SIGILL): Likewise. + (SIGINT): Likewise. + (SIGSEGV): Likewise. + (SIGTER): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGALRM): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGHUP): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGIO): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGKILL): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGPIPE): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGQUIT): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGUSR1): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGUSR2): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGCHLD): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGCONT): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGSTOP): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGTSTP): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGTTIN): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGTTOU): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGBUS): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGPOLL): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGPROF): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGSYS): Likewise. + [X/Open-based standards] (SIGTRAP): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGURG): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGVTALRM): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGXCPU): Likewise. + [!ISO && !ISO99 && !ISO11] (SIGXFSZ): Likewise. + * conform/data/stdarg.h-data [ISO || ISO99 || ISO11] (*_t): Do not + allow. + 2012-05-08 Ian Wienand [BZ #14080] diff --git a/conform/data/locale.h-data b/conform/data/locale.h-data index 8897ee0..adcd25f 100644 --- a/conform/data/locale.h-data +++ b/conform/data/locale.h-data @@ -26,15 +26,17 @@ element {struct lconv} char int_p_sep_by_space element {struct lconv} char int_p_sign_posn #endif -constant NULL +macro-constant NULL == 0 -macro LC_ALL -macro LC_COLLATE -macro LC_CTYPE -macro LC_MESSAGES -macro LC_MONETARY -macro LC_NUMERIC -macro LC_TIME +macro-int-constant LC_ALL +macro-int-constant LC_COLLATE +macro-int-constant LC_CTYPE +#if !defined ISO && !defined ISO99 && !defined ISO11 +macro-int-constant LC_MESSAGES +#endif +macro-int-constant LC_MONETARY +macro-int-constant LC_NUMERIC +macro-int-constant LC_TIME #if defined XOPEN2K8 || defined POSIX2008 constant LC_GLOBAL_LOCALE @@ -59,8 +61,10 @@ function locale_t newlocale (int, const char*, locale_t) function locale_t uselocale (locale_t) #endif -allow LC_* +allow LC_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]* +#if !defined ISO && !defined ISO99 && !defined ISO11 allow *_t +#endif #if defined XOPEN2K8 || defined POSIX2008 allow LC_*_MASK #endif diff --git a/conform/data/math.h-data b/conform/data/math.h-data index ce41dc5..0d9246d 100644 --- a/conform/data/math.h-data +++ b/conform/data/math.h-data @@ -1,4 +1,4 @@ -constant HUGE_VAL +macro-constant HUGE_VAL {double} #if !defined ISO && !defined POSIX # if !defined XPG3 && !defined XPG4 && !defined UNIX98 @@ -14,6 +14,8 @@ macro isless macro islessequal macro islessgreater macro isunordered +type float_t +type double_t # endif # if defined XPG3 || defined XPG4 || defined UNIX98 function double isnan (double) @@ -37,28 +39,28 @@ constant M_SQRT1_2 constant MAXFLOAT # endif # if !defined XPG3 && !defined XPG4 && !defined UNIX98 -constant HUGE_VALF -constant HUGE_VALL -constant INFINITY -constant NAN +macro-constant HUGE_VALF {float} +macro-constant HUGE_VALL {long double} +macro-constant INFINITY {float} +macro-constant NAN {float} -macro FP_INFINITE -macro FP_NAN -macro FP_NORMAL -macro FP_SUBNORMAL -macro FP_ZERO +macro-int-constant FP_INFINITE +macro-int-constant FP_NAN +macro-int-constant FP_NORMAL +macro-int-constant FP_SUBNORMAL +macro-int-constant FP_ZERO -optional-macro FP_FAST_FMA -optional-macro FP_FAST_FMAF -optional-macro FP_FAST_FMAL +optional-macro-int-constant FP_FAST_FMA {int} == 1 +optional-macro-int-constant FP_FAST_FMAF {int} == 1 +optional-macro-int-constant FP_FAST_FMAL {int} == 1 -constant FP_ILOGB0 -constant FP_ILOGBNAN +macro-int-constant FP_ILOGB0 +macro-int-constant FP_ILOGBNAN -macro MATH_ERRNO == 1 -macro MATH_ERREXCEPT == 2 +macro-int-constant MATH_ERRNO {int} == 1 +macro-int-constant MATH_ERREXCEPT {int} == 2 -macro math_errhandling +macro math_errhandling {int} # endif #endif @@ -155,7 +157,7 @@ function double nan (const char*) # endif # endif -# if !defined POSIX && !defined POSIX2008 +# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 // variable signgam allow signgam # endif @@ -303,11 +305,9 @@ allow asinf allow atanf allow atan2f allow ceilf -allow copysignf allow cosf allow coshf allow expf -allow exp2f allow fabsf allow floorf allow fmodf @@ -315,49 +315,22 @@ allow frexpf allow ldexpf allow logf allow log10f -allow log2f +allow modff allow powf allow sinf allow sinhf allow sqrtf allow tanf allow tanhf -allow erff -allow erfcf -allow gammaf -allow hypotf -allow j0f -allow j1f -allow jnf -allow lgammaf -allow tgammaf -allow y0f -allow y1f -allow ynf -allow isnanf -allow acoshf -allow asinhf -allow atanhf -allow cbrtf -allow expm1f -allow ilogbf -allow log1pf -allow logbf -allow nextafterf -allow remainderf -allow rintf -allow scalbf allow acosl allow asinl allow atanl allow atan2l allow ceill -allow copysignl allow cosl allow coshl allow expl -allow exp2l allow fabsl allow floorl allow fmodl @@ -365,41 +338,18 @@ allow frexpl allow ldexpl allow logl allow log10l -allow log2l +allow modfl allow powl allow sinl allow sinhl allow sqrtl allow tanl allow tanhl -allow erfl -allow erfcl -allow gammal -allow hypotl -allow j0l -allow j1l -allow jnl -allow lgammal -allow tgammal -allow y0l -allow y1l -allow ynl -allow isnanl -allow acoshl -allow asinhl -allow atanhl -allow cbrtl -allow expm1l -allow ilogbl -allow log1pl -allow logbl -allow nextafterl -allow remainderl -allow rintl -allow scalbl #endif +#if !defined ISO && !defined ISO99 && !defined ISO11 allow *_t -// The following expressions are not entirely correct but the current -// poorfnmatch implementation doesn't grok the right form. -allow FP_* +#endif +#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 +allow FP_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]* +#endif diff --git a/conform/data/setjmp.h-data b/conform/data/setjmp.h-data index 310105b..af28ddb 100644 --- a/conform/data/setjmp.h-data +++ b/conform/data/setjmp.h-data @@ -19,4 +19,6 @@ macro-function int _setjmp (jmp_buf) # endif #endif +#if !defined ISO && !defined ISO99 && !defined ISO11 allow *_t +#endif diff --git a/conform/data/signal.h-data b/conform/data/signal.h-data index 99468ae..ba9019b 100644 --- a/conform/data/signal.h-data +++ b/conform/data/signal.h-data @@ -1,9 +1,9 @@ -constant SIG_DFL {void(*)(int)} -constant SIG_ERR {void(*)(int)} +macro-constant SIG_DFL {void(*)(int)} +macro-constant SIG_ERR {void(*)(int)} #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 -constant SIG_HOLD {void(*)(int)} +macro-constant SIG_HOLD {void(*)(int)} #endif -constant SIG_IGN {void(*)(int)} +macro-constant SIG_IGN {void(*)(int)} type sig_atomic_t #if !defined ISO && !defined ISO99 && !defined ISO11 @@ -56,42 +56,42 @@ macro SIGRTMIN macro SIGRTMAX #endif -constant SIGABRT -constant SIGFPE -constant SIGILL -constant SIGINT -constant SIGSEGV -constant SIGTERM +macro-int-constant SIGABRT {int} > 0 +macro-int-constant SIGFPE {int} > 0 +macro-int-constant SIGILL {int} > 0 +macro-int-constant SIGINT {int} > 0 +macro-int-constant SIGSEGV {int} > 0 +macro-int-constant SIGTERM {int} > 0 function void (*signal (int, void(*)(int)))(int) function int raise (int) #if !defined ISO && !defined ISO99 && !defined ISO11 -constant SIGALRM -constant SIGHUP -constant SIGIO -constant SIGKILL -constant SIGPIPE -constant SIGQUIT -constant SIGUSR1 -constant SIGUSR2 -constant SIGCHLD -constant SIGCONT -constant SIGSTOP -constant SIGTSTP -constant SIGTTIN -constant SIGTTOU -constant SIGBUS -constant SIGPOLL -constant SIGPROF -constant SIGSYS +macro-int-constant SIGALRM {int} > 0 +macro-int-constant SIGHUP {int} > 0 +macro-int-constant SIGIO {int} > 0 +macro-int-constant SIGKILL {int} > 0 +macro-int-constant SIGPIPE {int} > 0 +macro-int-constant SIGQUIT {int} > 0 +macro-int-constant SIGUSR1 {int} > 0 +macro-int-constant SIGUSR2 {int} > 0 +macro-int-constant SIGCHLD {int} > 0 +macro-int-constant SIGCONT {int} > 0 +macro-int-constant SIGSTOP {int} > 0 +macro-int-constant SIGTSTP {int} > 0 +macro-int-constant SIGTTIN {int} > 0 +macro-int-constant SIGTTOU {int} > 0 +macro-int-constant SIGBUS {int} > 0 +macro-int-constant SIGPOLL {int} > 0 +macro-int-constant SIGPROF {int} > 0 +macro-int-constant SIGSYS {int} > 0 # if !defined POSIX && !defined POSIX2008 -constant SIGTRAP +macro-int-constant SIGTRAP {int} > 0 # endif -constant SIGURG -constant SIGVTALRM -constant SIGXCPU -constant SIGXFSZ +macro-int-constant SIGURG {int} > 0 +macro-int-constant SIGVTALRM {int} > 0 +macro-int-constant SIGXCPU {int} > 0 +macro-int-constant SIGXFSZ {int} > 0 type {struct sigaction} diff --git a/conform/data/stdarg.h-data b/conform/data/stdarg.h-data index a9b5d65..2c87a3b 100644 --- a/conform/data/stdarg.h-data +++ b/conform/data/stdarg.h-data @@ -9,4 +9,6 @@ macro va_end macro va_copy #endif +#if !defined ISO && !defined ISO99 && !defined ISO11 allow *_t +#endif -- 2.7.4