| ! { dg-do run } |
| ! |
| ! Contributed by Rich Townsend <townsend@astro.wisc.edu> |
| ! |
| program alloc_char_type |
| implicit none |
| integer, parameter :: start = 1, finish = 4 |
| character(3) :: check(4) |
| type mytype |
| character(:), allocatable :: c(:) |
| end type mytype |
| type(mytype) :: a |
| type(mytype) :: b |
| integer :: i |
| a%c = ['foo','bar','biz','buz'] |
| check = ['foo','bar','biz','buz'] |
| b = a |
| do i = 1, size(b%c) |
| if (b%c(i) .ne. check(i)) stop 1 |
| end do |
| if (any (a%c .ne. check)) stop 2 |
| if (any (a%c(start:finish) .ne. check)) stop 3 |
| deallocate (a%c) |
| deallocate (b%c) |
| end |