13 character(kind
=1,len
=*), intent(in
) :: s
14 character(kind
=1,len
=max(0,len(s
)-3)) :: cut1
20 character(kind
=4,len
=*), intent(in
) :: s
21 character(kind
=4,len
=max(0,len(s
)-3)) :: cut4
31 if (len (cut1("")) /= 0 .or
. cut1("") /= "") call abort
32 if (len (cut1("1")) /= 0 .or
. cut1("") /= "") call abort
33 if (len (cut1("12")) /= 0 .or
. cut1("") /= "") call abort
34 if (len (cut1("123")) /= 0 .or
. cut1("") /= "") call abort
35 if (len (cut1("1234")) /= 1 .or
. cut1("4") /= "") call abort
36 if (len (cut1("12345")) /= 2 .or
. cut1("45") /= "") call abort
38 if (len (cut4(4_
"")) /= 0 .or
. cut4(4_
"") /= 4_
"") call abort
39 if (len (cut4(4_
"1")) /= 0 .or
. cut4(4_
"") /= 4_
"") call abort
40 if (len (cut4(4_
"12")) /= 0 .or
. cut4(4_
"") /= 4_
"") call abort
41 if (len (cut4(4_
"123")) /= 0 .or
. cut4(4_
"") /= 4_
"") call abort
42 if (len (cut4(4_
"1234")) /= 1 .or
. cut4(4_
"4") /= 4_
"") call abort
43 if (len (cut4(4_
"12345")) /= 2 .or
. cut4(4_
"45") /= 4_
"") call abort
45 if (kind (cut("")) /= kind("")) call abort
46 if (kind (cut(4_
"")) /= kind(4_
"")) call abort
48 if (len (cut("")) /= 0 .or
. cut("") /= "") call abort
49 if (len (cut("1")) /= 0 .or
. cut("") /= "") call abort
50 if (len (cut("12")) /= 0 .or
. cut("") /= "") call abort
51 if (len (cut("123")) /= 0 .or
. cut("") /= "") call abort
52 if (len (cut("1234")) /= 1 .or
. cut("4") /= "") call abort
53 if (len (cut("12345")) /= 2 .or
. cut("45") /= "") call abort
55 if (len (cut(4_
"")) /= 0 .or
. cut(4_
"") /= 4_
"") call abort
56 if (len (cut(4_
"1")) /= 0 .or
. cut(4_
"") /= 4_
"") call abort
57 if (len (cut(4_
"12")) /= 0 .or
. cut(4_
"") /= 4_
"") call abort
58 if (len (cut(4_
"123")) /= 0 .or
. cut(4_
"") /= 4_
"") call abort
59 if (len (cut(4_
"1234")) /= 1 .or
. cut(4_
"4") /= 4_
"") call abort
60 if (len (cut(4_
"12345")) /= 2 .or
. cut(4_
"45") /= 4_
"") call abort