summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/float-range-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/float-range-1.c')
-rw-r--r--gcc/testsuite/gcc.dg/float-range-1.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/float-range-1.c b/gcc/testsuite/gcc.dg/float-range-1.c
new file mode 100644
index 000000000..ddd7fd672
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/float-range-1.c
@@ -0,0 +1,15 @@
+/* Floating constants outside the range of their type should receive a
+ just a warning if the target supports infinities. Otherwise, a
+ pedwarn should be produced. */
+/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
+/* { dg-do compile } */
+/* { dg-options "-ansi -pedantic-errors -Woverflow" } */
+/* { dg-skip-if "No Inf support" { spu-*-* } } */
+
+void
+f (void)
+{
+ float a = 1e+100000000f; /* { dg-warning "floating constant exceeds range of 'float'" "" } */
+ double b = 1e+100000000; /* { dg-warning "floating constant exceeds range of 'double'" } */
+ long double c = 1e+100000000l; /* { dg-warning "floating constant exceeds range of 'long double'" } */
+}