From 80d45c04985a2eacb06f0f07202f83419a3f8c87 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Thu, 5 May 2011 01:23:46 +0000 Subject: [PATCH] re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing) 2011-05-04 Jerry DeLisle PR libgfortran/48787 gfortran.dg/round_3.f08: Add more checks to test case. From-SVN: r173409 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gfortran.dg/round_3.f08 | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 32d9f965455..030501d672a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-05-04 Jerry DeLisle + + PR libgfortran/48787 + gfortran.dg/round_3.f08: Add more checks to test case. + 2011-05-04 Hans-Peter Nilsson * gfortran.dg/pr47878.f90, gfortran.dg/endfile_3.f90, diff --git a/gcc/testsuite/gfortran.dg/round_3.f08 b/gcc/testsuite/gfortran.dg/round_3.f08 index 12d9770fd76..8b03ce562f1 100644 --- a/gcc/testsuite/gfortran.dg/round_3.f08 +++ b/gcc/testsuite/gfortran.dg/round_3.f08 @@ -16,6 +16,23 @@ program pr48615 call checkfmt("(RU,1P,G6.0E2)", 2.0, "2.E+00") call checkfmt("(RU,1P,G10.4E2)", 2.3456e5, "2.3456E+05") + call checkfmt("(RU,F2.0)", 0.09, "1.") ! 0. + call checkfmt("(RD,F3.0)", -0.09, "-1.") ! -0. + call checkfmt("(RU,F2.0)", 2.0, "2.") ! 3. + call checkfmt("(RD,F3.0)", -2.0, "-2.") ! -3. + call checkfmt("(RU,F6.4)", 2.0, "2.0000") ! 2.0001 + call checkfmt("(RD,F7.4)", -2.0, "-2.0000") ! -2.0001 + call checkfmt("(RU,1P,E6.0E2)", 2.0, "2.E+00") ! 3.E+00 + call checkfmt("(RD,1P,E7.0E2)", -2.0, "-2.E+00") ! -3.E+00 + call checkfmt("(RU,1P,E7.1E2)", 2.5, "2.5E+00") ! 2.6E+00 + call checkfmt("(RD,1P,E8.1E2)", -2.5, "-2.5E+00") ! -2.6E+00 + call checkfmt("(RU,1P,E10.4E2)", 2.5, "2.5000E+00") ! 2.5001E+00 + call checkfmt("(RD,1P,E11.4E2)", -2.5, "-2.5000E+00") ! -2.5001E+00 + call checkfmt("(RU,1P,G6.0E2)", 2.0, "2.E+00") ! 3.E+00 + call checkfmt("(RD,1P,G7.0E2)", -2.0, "-2.E+00") ! -3.E+00 + call checkfmt("(RU,1P,G10.4E2)", 2.3456e5, "2.3456E+05") ! 2.3457E+05 + call checkfmt("(RD,1P,G11.4E2)", -2.3456e5, "-2.3456E+05") ! -2.3457E+05 + call checkfmt("(RD,F17.0)", 2.5, " 2.") call checkfmt("(RD,-1P,F17.1)", 2.5, " 0.2") call checkfmt("(RD,E17.1)", 2.5, " 0.2E+01") -- 2.30.2