diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-09-01 21:17:42 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-09-01 21:17:42 +0000 |
commit | 7e89048d4af5e33dcb5036e98b698e7312eb460e (patch) | |
tree | 1603cad23be95371a5f3d32115cb253fbc419147 /gcc | |
parent | 2f196155bcd16f592ba9366bf3ff1a160b5e560d (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/fmt_f0_2.f90 | 28 |
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 |