1! { dg-do run } 2! { dg-options "-fbackslash" } 3! 4! PR fortran/37025 5! 6! Check whether transferring to character(kind=4) and transferring back works 7! 8implicit none 9character(len=4,kind=4) :: str 10integer(4) :: buffer(4) = [int(z'039f'),int(z'03cd'),int(z'03c7'), & 11 int(z'30b8') ], & 12 buffer2(4) 13 14open(6,encoding="UTF-8") 15str = transfer(buffer, str) 16!print *, str 17!print *, 4_'\u039f\u03cd\u03c7\u30b8' 18if (str /= 4_'\u039f\u03cd\u03c7\u30b8') call abort() 19str = transfer([int(z'039f'),int(z'03cd'),int(z'03c7'), & 20 int(z'30b8') ], str) 21if (str /= 4_'\u039f\u03cd\u03c7\u30b8') call abort() 22 23buffer2 = transfer(4_'\u039f\u03cd\u03c7\u30b8', buffer2, 4) 24!print *, buffer 25!print *, buffer2 26buffer2 = transfer(str, buffer2, 4) 27if (any(buffer2 /= buffer)) call abort() 28end 29