diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2008-08-16 03:42:54 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2008-08-16 03:42:54 +0000 |
commit | 0ee02b1c5de09c0934b9a36f5b31a33941d90f9f (patch) | |
tree | f720fa21a2ad9f62e5195e2ab67e53652990f787 | |
parent | 3ae86bf4f45b1f110aa7bd09ea61a8fd30c2a983 (diff) | |
download | gcc-0ee02b1c5de09c0934b9a36f5b31a33941d90f9f.zip gcc-0ee02b1c5de09c0934b9a36f5b31a33941d90f9f.tar.gz gcc-0ee02b1c5de09c0934b9a36f5b31a33941d90f9f.tar.bz2 |
re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
2008-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35863
* gfortran.dg/utf8_1.f03: New test.
* gfortran.dg/utf8_2.f03: New test.
From-SVN: r139148
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/utf8_1.f03 | 31 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/utf8_2.f03 | 16 |
3 files changed, 53 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2282f0f..b06b6a3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2008-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/35863 + * gfortran.dg/utf8_1.f03: New test. + * gfortran.dg/utf8_2.f03: New test. + 2008-08-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org> * gcc.dg/pr30551-6.c: Skip for SPU. diff --git a/gcc/testsuite/gfortran.dg/utf8_1.f03 b/gcc/testsuite/gfortran.dg/utf8_1.f03 new file mode 100644 index 0000000..6c30885 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/utf8_1.f03 @@ -0,0 +1,31 @@ +! { dg-do run } +! { dg-options "-fbackslash" } +! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org> +program test1 + implicit none + integer, parameter :: k4 = 4 + character(kind=4, len=30) :: string1, string2 + character(kind=1, len=30) :: string3 + string1 = k4_"This is Greek: \u039f\u03cd\u03c7\u03af" + string2 = k4_"Jerry in Japanese is: \u30b8\u30a8\u30ea\u30fc" + open(10, encoding="utf-8", status="scratch") + write(10,'(a)') trim(string1) + write(10,*) string2 + rewind(10) + string1 = k4_"" + string2 = k4_"" + string3 = "abcdefghijklmnopqrstuvwxyz" + read(10,'(a)') string1 + read(10,'(a)') string2 + if (string1 /= k4_"This is Greek: \u039f\u03cd\u03c7\u03af") call abort + if (len(trim(string1)) /= 20) call abort + if (string2 /= k4_" Jerry in Japanese is: \u30b8\u30a8\u30ea\u30fc")& + & call abort + if (len(string2) /= 30) call abort + rewind(10) + read(10,'(a)') string3 + if (string3 /= "This is Greek: ????") call abort +end program test1 +! The following examples require UTF-8 enabled editor to see correctly. +! ジエリー Sample of Japanese characters. +! Οὐχὶ Sample of Greek characters.
\ No newline at end of file diff --git a/gcc/testsuite/gfortran.dg/utf8_2.f03 b/gcc/testsuite/gfortran.dg/utf8_2.f03 new file mode 100644 index 0000000..0146a2e --- /dev/null +++ b/gcc/testsuite/gfortran.dg/utf8_2.f03 @@ -0,0 +1,16 @@ +! { dg-do run } +! { dg-options "-fbackslash" } +! Contributed by Tobias Burnus +program test2 + integer,parameter :: ucs4 = selected_char_kind("iso_10646") + character(1,ucs4),parameter :: nen=char(int(z'5e74'),ucs4), & !year + gatsu=char(int(z'6708'),kind=ucs4), & !month + nichi=char(int(z'65e5'),kind=ucs4) !day + character(25,ucs4) :: string + open(10, encoding="utf-8", status="scratch") + write(10,1) 2008,nen,8,gatsu,10,nichi +1 format(i0,a,i0,a,i0,a) + rewind(10) + read(10,'(a)') string + if (string /= ucs4_"2008\u5e748\u670810\u65e5") call abort +end program test2 |