21 lines
538 B
Fortran
21 lines
538 B
Fortran
! { 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
|