aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2014-05-18 02:34:02 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2014-05-18 02:34:02 +0000
commitd6145916208456cb6015a7e5404cb73b99d1dac7 (patch)
tree21d23b5c5cfba2ba5846fdf78448295dbb84c641
parentd428be77b67871c71638355985061dca1ff06acb (diff)
downloadgcc-d6145916208456cb6015a7e5404cb73b99d1dac7.zip
gcc-d6145916208456cb6015a7e5404cb73b99d1dac7.tar.gz
gcc-d6145916208456cb6015a7e5404cb73b99d1dac7.tar.bz2
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write)
2014-05-17 Jerry DeLisle <jvdelisle@gcc.gnu> PR libfortran/52539 * gfortran.dg/namelist_utf8.f90: New test. From-SVN: r210575
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_utf8.f908
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d543cb3..3c64403 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-17 Jerry DeLisle <jvdelisle@gcc.gnu>
+
+ PR libfortran/52539
+ * gfortran.dg/namelist_utf8.f90: New test.
+
2014-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52875
diff --git a/gcc/testsuite/gfortran.dg/namelist_utf8.f90 b/gcc/testsuite/gfortran.dg/namelist_utf8.f90
index c494b8c..6a9dde3 100644
--- a/gcc/testsuite/gfortran.dg/namelist_utf8.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_utf8.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { xfail powerpc*-apple-darwin* } }
! PR52539 UTF-8 support for namelist read and write
character(len=10, kind=4) :: str, str2
@@ -6,9 +6,9 @@ character(len=25, kind=4) :: str3
namelist /nml/ str
-str = 4_'a'//char (int (z'4F60'),4) &
+str = 4_'1a'//char (int (z'4F60'),4) &
//char (int (z'597D'), 4)//4_'b'
-
+open(6, encoding='utf-8')
open(99, encoding='utf-8',form='formatted')
write(99, '(3a)') '&nml str = "', str, '" /'
write(99, '(a)') str
@@ -23,7 +23,7 @@ rewind(99)
read(99,'(A)') str3
if (str3 /= 4_'&nml str = "' // str // 4_'" /') call abort
-read(99,'(A)') str3
+read(99,*) str3
if (str3 /= str) call abort
close(99, status='delete')