aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2016-09-01 21:17:42 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2016-09-01 21:17:42 +0000
commit7e89048d4af5e33dcb5036e98b698e7312eb460e (patch)
tree1603cad23be95371a5f3d32115cb253fbc419147 /gcc
parent2f196155bcd16f592ba9366bf3ff1a160b5e560d (diff)
downloadgcc-7e89048d4af5e33dcb5036e98b698e7312eb460e.zip
gcc-7e89048d4af5e33dcb5036e98b698e7312eb460e.tar.gz
gcc-7e89048d4af5e33dcb5036e98b698e7312eb460e.tar.bz2
re PR libfortran/77393 (Revision r237735 changed the behavior of F0.0)
2016-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/77393 * gfortran.dg/fmt_f0_2.f90: Update tests for available kinds. From-SVN: r239945
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_f0_2.f9028
2 files changed, 25 insertions, 8 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e7f5226..f8640c0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/77393
+ * gfortran.dg/fmt_f0_2.f90: Update tests for available kinds.
+
2016-09-01 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/torture/float128-builtin.c, gcc.dg/torture/float128-floath.c,
diff --git a/gcc/testsuite/gfortran.dg/fmt_f0_2.f90 b/gcc/testsuite/gfortran.dg/fmt_f0_2.f90
index 6e679fc..01788fa 100644
--- a/gcc/testsuite/gfortran.dg/fmt_f0_2.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_f0_2.f90
@@ -1,15 +1,27 @@
! { dg-do run }
! PR77393
program testbigf0 ! Can enormous numbers be printed with F0.0 format?
+ use ISO_FORTRAN_ENV
implicit none
+ integer i
+ integer, parameter :: j(size(real_kinds)+4)=[REAL_KINDS, [4, 4, 4, 4]]
character(10000) :: str
- write(str, "(f0.0)") -huge(1.0)
- if (len(trim(str)).lt.41) error stop "FAILED AT LINE 7"
- write(str, "(f0.0)") -huge(1.0_8)
- if (len(trim(str)).lt.311) error stop "FAILED AT LINE 9"
- write(str, "(f0.0)") -huge(1.0_10)
- if (len(trim(str)).lt.4935) error stop "FAILED AT LINE 11"
- write(str, "(f0.10)") -huge(1.0_16)
- if (len(trim(str)).lt.4945) error stop "FAILED AT LINE 13"
+
+ do i=1,size(real_kinds)
+ select case (i)
+ case (1)
+ write(str, "(f0.0)") -huge(real(1.0,kind=j(1)))
+ if (len(trim(str)).lt.41) error stop "FAILED AT LINE 15"
+ case (2)
+ write(str, "(f0.0)") -huge(real(1.0,kind=j(2)))
+ if (len(trim(str)).lt.311) error stop "FAILED AT LINE 19"
+ case (3)
+ write(str, "(f0.0)") -huge(real(1.0,kind=j(3)))
+ if (len(trim(str)).lt.4935) error stop "FAILED AT LINE 23"
+ case (4)
+ write(str, "(f0.10)") -huge(real(1.0,kind=j(4)))
+ if (len(trim(str)).lt.4945) error stop "FAILED AT LINE 27"
+ end select
+ enddo
end program testbigf0