OSDN Git Service

2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 1 May 2011 12:37:05 +0000 (12:37 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 1 May 2011 12:37:05 +0000 (12:37 +0000)
PR libgfortran/48787
* gfortran.dg/round_3.f08: Add more checks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173233 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/round_3.f08

index d3d88c8..01eabe0 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/48787
+       * gfortran.dg/round_3.f08: Add more checks.
+
 2011-04-30  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/48821
index ec02bc9..12d9770 100644 (file)
@@ -4,10 +4,17 @@
 program pr48615
     call checkfmt("(RU,F17.0)", 2.5,     "               3.")
     call checkfmt("(RU,-1P,F17.1)", 2.5, "              0.3")
-    call checkfmt("(RU,E17.1)", 2.5,     "          0.3E+01") ! 0.2E+01
+    call checkfmt("(RU,E17.1)", 2.5,     "          0.3E+01")
     call checkfmt("(RU,1P,E17.0)", 2.5,  "           3.E+00")
-    call checkfmt("(RU,ES17.0)", 2.5,    "           3.E+00") ! 2.E+00
+    call checkfmt("(RU,ES17.0)", 2.5,    "           3.E+00")
     call checkfmt("(RU,EN17.0)", 2.5,    "           3.E+00")
+    call checkfmt("(RU,F2.0)",      2.0,  "2.")
+    call checkfmt("(RU,F6.4)",      2.0,  "2.0000")
+    call checkfmt("(RU,1P,E6.0E2)", 2.0,  "2.E+00")
+    call checkfmt("(RU,1P,E7.1E2)", 2.5,  "2.5E+00")
+    call checkfmt("(RU,1P,E10.4E2)", 2.5,  "2.5000E+00")
+    call checkfmt("(RU,1P,G6.0E2)", 2.0,  "2.E+00")
+    call checkfmt("(RU,1P,G10.4E2)", 2.3456e5,  "2.3456E+05")
 
     call checkfmt("(RD,F17.0)", 2.5,     "               2.")
     call checkfmt("(RD,-1P,F17.1)", 2.5, "              0.2")
@@ -18,9 +25,9 @@ program pr48615
 
     call checkfmt("(RC,F17.0)", 2.5,     "               3.")
     call checkfmt("(RC,-1P,F17.1)", 2.5, "              0.3")
-    call checkfmt("(RC,E17.1)", 2.5,     "          0.3E+01") ! 0.2E+01
+    call checkfmt("(RC,E17.1)", 2.5,     "          0.3E+01")
     call checkfmt("(RC,1P,E17.0)", 2.5,  "           3.E+00")
-    call checkfmt("(RC,ES17.0)", 2.5,    "           3.E+00") ! 2.E+00
+    call checkfmt("(RC,ES17.0)", 2.5,    "           3.E+00")
     call checkfmt("(RC,EN17.0)", 2.5,    "           3.E+00")
 
     call checkfmt("(RN,F17.0)", 2.5,     "               2.")
@@ -53,20 +60,20 @@ program pr48615
 
     call checkfmt("(RC,F17.0)", -2.5,     "              -3.")
     call checkfmt("(RC,-1P,F17.1)", -2.5, "             -0.3")
-    call checkfmt("(RC,E17.1)", -2.5,     "         -0.3E+01") ! -0.2E+01
+    call checkfmt("(RC,E17.1)", -2.5,     "         -0.3E+01")
     call checkfmt("(RC,1P,E17.0)", -2.5,  "          -3.E+00")
-    call checkfmt("(RC,ES17.0)", -2.5,    "          -3.E+00") ! -2.E+00
+    call checkfmt("(RC,ES17.0)", -2.5,    "          -3.E+00")
     call checkfmt("(RC,EN17.0)", -2.5,    "          -3.E+00")
 
-    call checkfmt("(RU,E17.1)", nearest(2.0, 1.0),     "          0.3E+01") ! 0.2E+01
-    call checkfmt("(RD,E17.1)", nearest(3.0, -1.0),    "          0.2E+01") ! 0.3E+01
+    call checkfmt("(RU,E17.1)", nearest(2.0, 1.0),     "          0.3E+01")
+    call checkfmt("(RD,E17.1)", nearest(3.0, -1.0),    "          0.2E+01")
 
 contains
     subroutine checkfmt(fmt, x, cmp)
         character(len=*), intent(in) :: fmt
         real, intent(in) :: x
         character(len=*), intent(in) :: cmp
-        character(len=40) :: s
+        character(len=20) :: s
         
         write(s, fmt) x
         if (s /= cmp) call abort