2011-05-23 Tom de Vries <tom@codesourcery.com>
[official-gcc.git] / gcc / testsuite / gfortran.dg / auto_char_len_3.f90
blobda8cf5e4e784c67f4188273e8d999eac8fc43527
1 ! { dg-do run }
2 ! Test the fix for PR26257, in which the implicit reference to
3 ! chararray in the main program call of chararray2string would
4 ! cause a segfault in gfc_build_addr_expr.
6 ! Based on the reduced testcase in the PR.
7 module chtest
8 contains
9 function chararray2string(chararray) result(text)
10 character(len=1), dimension(:) :: chararray ! input
11 character(len=size(chararray, 1)) :: text ! output
12 do i = 1,size(chararray,1)
13 text(i:i) = chararray (i)
14 end do
15 end function chararray2string
16 end module chtest
17 program TestStringTools
18 use chtest
19 character(len=52) :: txt
20 character(len=1), dimension(52) :: chararr = &
21 (/(char(i+64),char(i+96), i = 1,26)/)
22 txt = chararray2string(chararr)
23 if (txt .ne. "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz") &
24 call abort ()
25 end program TestStringTools
27 ! { dg-final { cleanup-modules "chtest" } }