+2007-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc.dg/c99-math-double-1.c, gcc.dg/c99-math-float-1.c,
+ c99-math-long-double-1.c, c99-math.h: Test subnormals.
+
2007-07-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR testsuite/25241
double inf = INFINITY;
double huge = HUGE_VAL;
double norm = __DBL_MIN__;
+ double sub = __DBL_MIN__ / 2;
double zero = 0.0;
- C99_MATH_TESTS (nan, inf, huge, norm, zero)
+ C99_MATH_TESTS (nan, inf, huge, norm, sub, zero)
return 0;
}
float inf = INFINITY;
float huge = HUGE_VALF;
float norm = __FLT_MIN__;
+ float sub = __FLT_MIN__ / 2;
float zero = 0.0f;
- C99_MATH_TESTS (nan, inf, huge, norm, zero)
+ C99_MATH_TESTS (nan, inf, huge, norm, sub, zero)
return 0;
}
long double inf = INFINITY;
long double huge = HUGE_VALL;
long double norm = __LDBL_MIN__;
+ long double sub = __LDBL_MIN__ / 2;
long double zero = 0.0l;
- C99_MATH_TESTS (nan, inf, huge, norm, zero)
+ C99_MATH_TESTS (nan, inf, huge, norm, sub, zero)
return 0;
}
extern void abort(void);
-#define C99_MATH_TESTS(nan, inf, huge, norm, zero) \
+#define C99_MATH_TESTS(nan, inf, huge, norm, sub, zero) \
{ \
if (fpclassify (nan) != FP_NAN) \
abort (); \
if (fpclassify (norm) != FP_NORMAL) \
abort (); \
\
+ if (fpclassify (sub) != FP_SUBNORMAL) \
+ abort (); \
+ \
if (fpclassify (zero) != FP_ZERO) \
abort (); \
\
if (isnan (norm)) \
abort (); \
\
+ if (isnan (sub)) \
+ abort (); \
+ \
if (isnan (zero)) \
abort (); \
\
if (isinf (norm)) \
abort (); \
\
+ if (isinf (sub)) \
+ abort (); \
+ \
if (isinf (zero)) \
abort (); \
\
if (!isfinite (norm)) \
abort (); \
\
+ if (!isfinite (sub)) \
+ abort (); \
+ \
if (!isfinite (zero)) \
abort (); \
\
if (!isnormal (norm)) \
abort (); \
\
+ if (isnormal (sub)) \
+ abort (); \
+ \
if (isnormal (zero)) \
abort (); \
\