aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2015-02-10 03:34:19 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2015-02-10 03:34:19 +0000
commit2d51422f3908ac452fee07e099d046991ad8f8f6 (patch)
treef3f4cf9f37cd41120c4760bacf7a362a64d881ff /gcc
parent94ce26f1b70ae1c06ef6ec71537e5b3495a49dd0 (diff)
downloadgcc-2d51422f3908ac452fee07e099d046991ad8f8f6.zip
gcc-2d51422f3908ac452fee07e099d046991ad8f8f6.tar.gz
gcc-2d51422f3908ac452fee07e099d046991ad8f8f6.tar.bz2
re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")
2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/57822 * gfortran/fmt_g0_7.f08: New test. From-SVN: r220565
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_g0_7.f0828
2 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ca2cf30..67e1ac4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/57822
+ * gfortran/fmt_g0_7.f08: New test.
+
2015-02-10 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/43378
diff --git a/gcc/testsuite/gfortran.dg/fmt_g0_7.f08 b/gcc/testsuite/gfortran.dg/fmt_g0_7.f08
new file mode 100644
index 0000000..a70ead1
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/fmt_g0_7.f08
@@ -0,0 +1,28 @@
+! { dg-do run }
+! PR58722
+program testit
+ character(50) :: astring
+
+ write(astring, '(g0)') 0.1_4
+ if (test(astring)) call abort
+ write(astring, '(g0)') 0.1_8
+ if (test(astring)) call abort
+ write(astring, '(g0)') 0.1_10
+ if (test(astring)) call abort
+ write(astring, '(g0)') 0.1_16
+ if (test(astring)) call abort
+
+contains
+
+function test (string1) result(res)
+ character(len=*) :: string1
+ logical :: res
+
+ res = .true.
+ do i = 1, len(string1)
+ if (string1(i:i) == 'E') return
+ end do
+ res = .false.
+end function
+
+end program