mirror of
https://github.com/autc04/Retro68.git
synced 2024-09-28 18:56:06 +00:00
70 lines
1.8 KiB
Fortran
70 lines
1.8 KiB
Fortran
! { dg-do run }
|
|
! { dg-options "-fbackslash" }
|
|
|
|
character(kind=1,len=20) :: s1
|
|
character(kind=4,len=20) :: s4
|
|
|
|
s1 = "this is me!"
|
|
s4 = s1
|
|
call check(s1, 4_"this is me! ")
|
|
call check2(s1, 4_"this is me! ")
|
|
s4 = "this is me!"
|
|
call check(s1, 4_"this is me! ")
|
|
call check2(s1, 4_"this is me! ")
|
|
|
|
s1 = ""
|
|
s4 = s1
|
|
call check(s1, 4_" ")
|
|
call check2(s1, 4_" ")
|
|
s4 = ""
|
|
call check(s1, 4_" ")
|
|
call check2(s1, 4_" ")
|
|
|
|
s1 = " \xFF"
|
|
s4 = s1
|
|
call check(s1, 4_" \xFF ")
|
|
call check2(s1, 4_" \xFF ")
|
|
s4 = " \xFF"
|
|
call check(s1, 4_" \xFF ")
|
|
call check2(s1, 4_" \xFF ")
|
|
|
|
s1 = " \xFF"
|
|
s4 = s1
|
|
call check(s1, 4_" \xFF ")
|
|
call check2(s1, 4_" \xFF ")
|
|
s4 = " \xFF"
|
|
call check(s1, 4_" \xFF ")
|
|
call check2(s1, 4_" \xFF ")
|
|
|
|
contains
|
|
subroutine check(s1,s4)
|
|
character(kind=1,len=20) :: s1, t1
|
|
character(kind=4,len=20) :: s4
|
|
t1 = s4
|
|
if (t1 /= s1) STOP 1
|
|
if (len(s1) /= len(t1)) STOP 2
|
|
if (len(s1) /= len(s4)) STOP 3
|
|
if (len_trim(s1) /= len_trim(t1)) STOP 4
|
|
if (len_trim(s1) /= len_trim(s4)) STOP 5
|
|
end subroutine check
|
|
|
|
subroutine check2(s1,s4)
|
|
character(kind=1,len=*) :: s1
|
|
character(kind=4,len=*) :: s4
|
|
character(kind=1,len=len(s1)) :: t1
|
|
character(kind=4,len=len(s4)) :: t4
|
|
|
|
t1 = s4
|
|
t4 = s1
|
|
if (t1 /= s1) STOP 6
|
|
if (t4 /= s4) STOP 7
|
|
if (len(s1) /= len(t1)) STOP 8
|
|
if (len(s1) /= len(s4)) STOP 9
|
|
if (len(s1) /= len(t4)) STOP 10
|
|
if (len_trim(s1) /= len_trim(t1)) STOP 11
|
|
if (len_trim(s1) /= len_trim(s4)) STOP 12
|
|
if (len_trim(s1) /= len_trim(t4)) STOP 13
|
|
end subroutine check2
|
|
|
|
end
|