fix pr/45972
[official-gcc.git] / gcc / testsuite / gfortran.dg / argument_checking_1.f90
blobb42047ae62405455222ffc75664ba8ad0b3d8e6c
1 ! { dg-do run }
3 ! PR fortran/30940
4 program main
5 implicit none
6 character(len=10) :: digit_string = '123456789', str
7 character :: digit_arr(10)
8 call copy(digit_string, digit_arr)
9 call copy(digit_arr,str)
10 if(str /= '123456789') call abort()
11 digit_string = 'qwertasdf'
12 call copy2(digit_string, digit_arr)
13 call copy2(digit_arr,str)
14 if(str /= 'qwertasdf') call abort()
15 digit_string = '1qayxsw23e'
16 call copy3("1qayxsw23e", digit_arr)
17 call copy3(digit_arr,str)
18 if(str /= '1qayxsw23e') call abort()
19 contains
20 subroutine copy(in, out)
21 character, dimension(*) :: in
22 character, dimension(10) :: out
23 out = in(:10)
24 end subroutine copy
25 subroutine copy2(in, out)
26 character, dimension(2,*) :: in
27 character, dimension(2,5) :: out
28 out(1:2,1:5) = in(1:2,1:5)
29 end subroutine copy2
30 subroutine copy3(in, out)
31 character(len=2), dimension(5) :: in
32 character(len=2), dimension(5) :: out
33 out = in
34 end subroutine copy3
35 end program main