1! RUN: %S/test_modfile.sh %s %t %flang_fc1
2! REQUIRES: shell
3
4! Test UTF-8 support in character literals
5! Note: Module files are encoded in UTF-8.
6
7module m
8character(kind=4,len=*), parameter :: c4 = 4_"Hi! 你好!"
9! In CHARACTER(1) literals, codepoints > 0xff are serialized into UTF-8;
10! each of those bytes then gets encoded into UTF-8 for the module file.
11character(kind=1,len=*), parameter :: c1 = 1_"Hi! 你好!"
12character(kind=4,len=*), parameter :: c4a(*) = [4_"一", 4_"二", 4_"三", 4_"四", 4_"五"]
13integer, parameter :: lc4 = len(c4)
14integer, parameter :: lc1 = len(c1)
15end module m
16
17!Expect: m.mod
18!module m
19!character(*,4),parameter::c4=4_"Hi! \344\275\240\345\245\275!"
20!character(*,1),parameter::c1="Hi! \344\275\240\345\245\275!"
21!character(*,4),parameter::c4a(1_8:*)=[CHARACTER(KIND=4,LEN=1)::4_"\344\270\200",4_"\344\272\214",4_"\344\270\211",4_"\345\233\233",4_"\344\272\224"]
22!integer(4),parameter::lc4=7_4
23!intrinsic::len
24!integer(4),parameter::lc1=11_4
25!end
26