]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist...
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Sat, 26 Apr 2014 21:56:48 +0000 (21:56 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Sat, 26 Apr 2014 21:56:48 +0000 (21:56 +0000)
2014-04-26  Jerry DeLisle  <jvdelisle@gcc.gnu>

PR libfortran/52539
* gfortran.dg/namelist_utf8.f90: New test.

From-SVN: r209829

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/namelist_utf8.f90 [new file with mode: 0644]

index 4ed1b38c9ed6c7c6af5d353eaf51691141be0414..7d01d44e36967ba2357f7e7c38a01491e1aeee6f 100644 (file)
@@ -1,3 +1,8 @@
+2014-04-26  Jerry DeLisle  <jvdelisle@gcc.gnu>
+
+       PR libfortran/52539
+       * gfortran.dg/namelist_utf8.f90: New test.
+
 2014-04-26  Uros Bizjak  <ubizjak@gmail.com>
 
        * gcc.dg/tree-ssa/alias-30.c (dg-options): Dump only fre1 details.
diff --git a/gcc/testsuite/gfortran.dg/namelist_utf8.f90 b/gcc/testsuite/gfortran.dg/namelist_utf8.f90
new file mode 100644 (file)
index 0000000..c494b8c
--- /dev/null
@@ -0,0 +1,30 @@
+! { dg-do run }
+! PR52539 UTF-8 support for namelist read and write
+
+character(len=10, kind=4) :: str, str2
+character(len=25, kind=4) :: str3
+
+namelist /nml/ str
+
+str = 4_'a'//char (int (z'4F60'),4)     &
+      //char (int (z'597D'), 4)//4_'b'
+
+open(99, encoding='utf-8',form='formatted')
+write(99, '(3a)') '&nml str = "', str, '" /'
+write(99, '(a)') str
+rewind(99)
+
+str = 4_'XXXX'
+str2 = 4_'YYYY'
+read(99,nml=nml)
+read(99, *) str2
+if (str2 /= str) call abort
+rewind(99)
+
+read(99,'(A)') str3
+if (str3 /= 4_'&nml str = "' // str // 4_'" /') call abort
+read(99,'(A)') str3
+if (str3 /= str) call abort
+
+close(99, status='delete')
+end