aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2007-07-08 20:02:12 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2007-07-08 20:02:12 +0000
commit298f40649496430f6e6c42a137cd15eda59c1d48 (patch)
tree5e78c027b9054576867a84288f0d911d87ef40a9 /gcc/testsuite/gcc.dg
parent9f06d330799bf43ac81f138175143542a99f4e14 (diff)
downloadgcc-298f40649496430f6e6c42a137cd15eda59c1d48.zip
gcc-298f40649496430f6e6c42a137cd15eda59c1d48.tar.gz
gcc-298f40649496430f6e6c42a137cd15eda59c1d48.tar.bz2
c99-math-double-1.c, [...]: Test subnormals.
* 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. From-SVN: r126463
Diffstat (limited to 'gcc/testsuite/gcc.dg')
-rw-r--r--gcc/testsuite/gcc.dg/c99-math-double-1.c3
-rw-r--r--gcc/testsuite/gcc.dg/c99-math-float-1.c3
-rw-r--r--gcc/testsuite/gcc.dg/c99-math-long-double-1.c3
-rw-r--r--gcc/testsuite/gcc.dg/c99-math.h17
4 files changed, 22 insertions, 4 deletions
diff --git a/gcc/testsuite/gcc.dg/c99-math-double-1.c b/gcc/testsuite/gcc.dg/c99-math-double-1.c
index 54bdf60..ef11d1b 100644
--- a/gcc/testsuite/gcc.dg/c99-math-double-1.c
+++ b/gcc/testsuite/gcc.dg/c99-math-double-1.c
@@ -10,9 +10,10 @@ int main(void)
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;
}
diff --git a/gcc/testsuite/gcc.dg/c99-math-float-1.c b/gcc/testsuite/gcc.dg/c99-math-float-1.c
index ba27a71..f377c1a 100644
--- a/gcc/testsuite/gcc.dg/c99-math-float-1.c
+++ b/gcc/testsuite/gcc.dg/c99-math-float-1.c
@@ -10,9 +10,10 @@ int main(void)
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;
}
diff --git a/gcc/testsuite/gcc.dg/c99-math-long-double-1.c b/gcc/testsuite/gcc.dg/c99-math-long-double-1.c
index a8fa4d2..5f1cd30 100644
--- a/gcc/testsuite/gcc.dg/c99-math-long-double-1.c
+++ b/gcc/testsuite/gcc.dg/c99-math-long-double-1.c
@@ -10,9 +10,10 @@ int main(void)
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;
}
diff --git a/gcc/testsuite/gcc.dg/c99-math.h b/gcc/testsuite/gcc.dg/c99-math.h
index 2f3054d..aff81b3 100644
--- a/gcc/testsuite/gcc.dg/c99-math.h
+++ b/gcc/testsuite/gcc.dg/c99-math.h
@@ -2,7 +2,7 @@
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 (); \
@@ -16,6 +16,9 @@ extern void abort(void);
if (fpclassify (norm) != FP_NORMAL) \
abort (); \
\
+ if (fpclassify (sub) != FP_SUBNORMAL) \
+ abort (); \
+ \
if (fpclassify (zero) != FP_ZERO) \
abort (); \
\
@@ -32,6 +35,9 @@ extern void abort(void);
if (isnan (norm)) \
abort (); \
\
+ if (isnan (sub)) \
+ abort (); \
+ \
if (isnan (zero)) \
abort (); \
\
@@ -48,6 +54,9 @@ extern void abort(void);
if (isinf (norm)) \
abort (); \
\
+ if (isinf (sub)) \
+ abort (); \
+ \
if (isinf (zero)) \
abort (); \
\
@@ -64,6 +73,9 @@ extern void abort(void);
if (!isfinite (norm)) \
abort (); \
\
+ if (!isfinite (sub)) \
+ abort (); \
+ \
if (!isfinite (zero)) \
abort (); \
\
@@ -80,6 +92,9 @@ extern void abort(void);
if (!isnormal (norm)) \
abort (); \
\
+ if (isnormal (sub)) \
+ abort (); \
+ \
if (isnormal (zero)) \
abort (); \
\