| ! { dg-do run } |
| ! Test the fix for PR26257, in which the implicit reference to |
| ! chararray in the main program call of chararray2string would |
| ! cause a segfault in gfc_build_addr_expr. |
| ! |
| ! Based on the reduced testcase in the PR. |
| module chtest |
| contains |
| function chararray2string(chararray) result(text) |
| character(len=1), dimension(:) :: chararray ! input |
| character(len=size(chararray, 1)) :: text ! output |
| do i = 1,size(chararray,1) |
| text(i:i) = chararray (i) |
| end do |
| end function chararray2string |
| end module chtest |
| program TestStringTools |
| use chtest |
| character(len=52) :: txt |
| character(len=1), dimension(52) :: chararr = & |
| (/(char(i+64),char(i+96), i = 1,26)/) |
| txt = chararray2string(chararr) |
| if (txt .ne. "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz") & |
| STOP 1 |
| end program TestStringTools |