aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/dfp/convert-bfp.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/dfp/convert-bfp.c')
-rw-r--r--gcc/testsuite/gcc.dg/dfp/convert-bfp.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/dfp/convert-bfp.c b/gcc/testsuite/gcc.dg/dfp/convert-bfp.c
index 5325848..531d8db 100644
--- a/gcc/testsuite/gcc.dg/dfp/convert-bfp.c
+++ b/gcc/testsuite/gcc.dg/dfp/convert-bfp.c
@@ -4,12 +4,17 @@
decimal floating types and generic floating types.
C99 6.3.1.5(4) Conversions, arithmetic operands, real floating types. */
+/* Long double isn't supported yet at runtime, so disable those checks. */
+#define SKIP_LONG_DOUBLE
+
volatile _Decimal32 d32;
volatile _Decimal64 d64;
volatile _Decimal128 d128;
volatile float sf;
volatile double df;
+#ifndef SKIP_LONG_DOUBLE
volatile long double tf;
+#endif
extern void abort (void);
@@ -28,9 +33,11 @@ main ()
if (df != 2.0)
abort ();
+#ifndef SKIP_LONG_DOUBLE
tf = d32;
if (tf != 2.0l)
abort ();
+#endif
/* Conversions from _Decimal64. */
d64 = -7.0dd;
@@ -42,9 +49,11 @@ main ()
if (df != -7.0)
abort ();
+#ifndef SKIP_LONG_DOUBLE
tf = d64;
if (tf != -7.0l)
abort ();
+#endif
/* Conversions from _Decimal128. */
d128 = 30.0dl;
@@ -88,6 +97,7 @@ main ()
if (d128 != 30.0dl)
abort ();
+#ifndef SKIP_LONG_DOUBLE
tf = -22.0l;
d32 = tf;
if (d32 != -22.0df)
@@ -100,6 +110,7 @@ main ()
d128 = tf;
if (d128 != -22.0dl)
abort ();
+#endif
/* 2**(-11) = 0.00048828125. */
d128 = 0.000488281251dl;