1! { dg-do run } 2! Testcase for PR libfortran/31001 3 implicit none 4 5 integer :: i, j, k 6 integer, allocatable :: mm(:) 7 logical, allocatable :: mask(:) 8 9 do i = 2, -2, -1 10 do k = 0, 1 11 allocate (mm(i), mask(i)) 12 mm(:) = k 13 mask(:) = (mm == 0) 14 j = count (mask) 15 print *, pack (mm, mask) 16 if (size (pack (mm, mask)) /= j) call abort 17 deallocate (mm, mask) 18 end do 19 end do 20end 21