aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/single-precision-constant.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/single-precision-constant.c')
-rw-r--r--gcc/testsuite/gcc.dg/single-precision-constant.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/single-precision-constant.c b/gcc/testsuite/gcc.dg/single-precision-constant.c
new file mode 100644
index 00000000000..877e4d74d67
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/single-precision-constant.c
@@ -0,0 +1,19 @@
+/* Test that double precision constants are correctly handled
+ when code is compiled with -fsingle-precision-constant */
+/* Origin: Carlos O'Donell <carlos@codesourcery.com> */
+/* { dg-do run } */
+/* { dg-options "-fsingle-precision-constant" } */
+#include <math.h>
+#include <float.h>
+
+int main (void)
+{
+ int result = 0;
+ double local_DBL_MAX = DBL_MAX;
+ double local_DBL_MIN = DBL_MIN;
+ if (isinf (local_DBL_MAX))
+ result |= 1;
+ if (local_DBL_MIN <= 0.0)
+ result |= 1;
+ return result;
+}