From: Jerry DeLisle Date: Thu, 21 Feb 2008 02:22:45 +0000 (+0000) Subject: re PR fortran/35036 (illegal E format descriptor produces wrong output) X-Git-Tag: releases/gcc-4.4.0~6383 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5e0c0ae6254a3b019855e77df5c3af25a7da1db;p=thirdparty%2Fgcc.git re PR fortran/35036 (illegal E format descriptor produces wrong output) 2008-02-20 Jerry DeLisle PR libfortran/35036 * gfortran.dg/fmt_zero_digits.f90: Revise test. From-SVN: r132511 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 49737884753f..764f99fb7561 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-02-20 Jerry DeLisle + + PR libfortran/35036 + * gfortran.dg/fmt_zero_digits.f90: Revise test. + 2008-02-20 Seongbae Park * gcc.dg/Wframe-larger-than.c: New option test. diff --git a/gcc/testsuite/gfortran.dg/fmt_zero_digits.f90 b/gcc/testsuite/gfortran.dg/fmt_zero_digits.f90 index adb307155ec4..e7342397ada0 100644 --- a/gcc/testsuite/gfortran.dg/fmt_zero_digits.f90 +++ b/gcc/testsuite/gfortran.dg/fmt_zero_digits.f90 @@ -1,12 +1,30 @@ ! { dg-do run } -! Verify that when decimal precision is zero, no error. +! Verify that when decimal precision is zero, error error given except with 1P. ! Submitted by Jerry DeLisle +! Modified for fix to PR35036 program test + implicit none character(20) :: astr - 50 FORMAT (d20.0) + integer :: istat + 50 FORMAT (1PD20.0) astr = "" write(astr,50) -8.0D0 - if (astr.ne." -0.D+01") call abort() + if (astr.ne." -8.D+00") call abort write(astr,50) 8.0D0 - if (astr.ne." 0.D+01") call abort() + if (astr.ne." 8.D+00") call abort + write(astr, '(E15.0)', iostat=istat) 1e5 + if (istat /= 5006) call abort + write(astr, '(D15.0)', iostat=istat) 1e5 + if (istat /= 5006) call abort + write(astr, '(G15.0)', iostat=istat) 1e5 + if (istat /= 5006) call abort + write(astr, '(2PE15.0)', iostat=istat) 1e5 + if (istat /= 5006) call abort + write(astr, '(0PE15.0)', iostat=istat) 1e5 + if (istat /= 5006) call abort + write(astr, '(1PE15.0)', iostat=istat) 1e5 + if (istat /= 0) call abort + write(astr, '(F15.0)', iostat=istat) 1e5 + if (astr.ne." 100000.") call abort + if (istat /= 0) call abort end program test