diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2014-04-26 21:56:48 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2014-04-26 21:56:48 +0000 |
commit | dd9eb0f70e0267f2dddd880332dfb28ee0203470 (patch) | |
tree | 69816a463d1c40e71729d7b11c1283f5878ef62d /gcc | |
parent | 42c1e008b0153a83329fb63497f936cbb95c68e1 (diff) | |
download | gcc-dd9eb0f70e0267f2dddd880332dfb28ee0203470.zip gcc-dd9eb0f70e0267f2dddd880332dfb28ee0203470.tar.gz gcc-dd9eb0f70e0267f2dddd880332dfb28ee0203470.tar.bz2 |
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write)
2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/52539
* gfortran.dg/namelist_utf8.f90: New test.
From-SVN: r209829
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/namelist_utf8.f90 | 30 |
2 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4ed1b38..7d01d44 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 index 0000000..c494b8c --- /dev/null +++ b/gcc/testsuite/gfortran.dg/namelist_utf8.f90 @@ -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 |