+2012-05-09 Joseph Myers <joseph@codesourcery.com>
+
+ * 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 <ianw@vmware.com>
[BZ #14080]
-constant HUGE_VAL
+macro-constant HUGE_VAL {double}
#if !defined ISO && !defined POSIX
# if !defined XPG3 && !defined XPG4 && !defined UNIX98
macro islessequal
macro islessgreater
macro isunordered
+type float_t
+type double_t
# endif
# if defined XPG3 || defined XPG4 || defined UNIX98
function double isnan (double)
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
# endif
# endif
-# if !defined POSIX && !defined POSIX2008
+# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
// variable signgam
allow signgam
# endif
allow atanf
allow atan2f
allow ceilf
-allow copysignf
allow cosf
allow coshf
allow expf
-allow exp2f
allow fabsf
allow floorf
allow fmodf
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
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
-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
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}