1! { dg-do compile } 2! 3! PR fortran/44556 4! 5! Contributed by Jonathan Hogg and Steve Kargl. 6! 7program oh_my 8 implicit none 9 type a 10 integer, allocatable :: b(:), d(:) 11 character(len=80) :: err 12 character(len=80), allocatable :: str(:) 13 integer :: src 14 end type a 15 16 integer j 17 type(a) :: c 18 c%err = 'ok' 19 allocate(c%d(1)) 20 allocate(c%b(2), errmsg=c%err, stat=c%d(1)) ! OK 21 deallocate(c%b, errmsg=c%err, stat=c%d(1)) ! OK 22 allocate(c%b(2), errmsg=c%err, stat=c%b(1)) ! { dg-error "the same ALLOCATE statement" } 23 deallocate(c%b, errmsg=c%err, stat=c%b(1)) ! { dg-error "the same DEALLOCATE statement" } 24 allocate(c%str(2), errmsg=c%str(1), stat=j) ! { dg-error "the same ALLOCATE statement" } 25 deallocate(c%str, errmsg=c%str(1), stat=j) ! { dg-error "the same DEALLOCATE statement" } 26end program oh_my 27