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
This commit is contained in:
Jerry DeLisle 2016-09-01 21:17:42 +00:00
parent 2f196155bc
commit 7e89048d4a
2 changed files with 25 additions and 8 deletions

View file

@ -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,

View file

@ -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