summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/utf8_1.f03
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/utf8_1.f03')
-rw-r--r--gcc/testsuite/gfortran.dg/utf8_1.f0331
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/utf8_1.f03 b/gcc/testsuite/gfortran.dg/utf8_1.f03
new file mode 100644
index 000000000..c07a6b85a
--- /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.