! { dg-do run } | |
! PR 25031 - We didn't cause an error when allocating an already | |
! allocated array. | |
program alloc_test | |
implicit none | |
integer :: i | |
integer, allocatable :: a(:) | |
integer, pointer :: b(:) | |
allocate(a(4)) | |
! This should set the stat code and change the size. | |
allocate(a(3),stat=i) | |
if (i == 0) call abort | |
if (.not. allocated(a)) call abort | |
if (size(a) /= 3) call abort | |
! It's OK to allocate pointers twice (even though this causes | |
! a memory leak) | |
allocate(b(4)) | |
allocate(b(4)) | |
end program |