diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/zero_sized_3.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/zero_sized_3.f90 | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/zero_sized_3.f90 b/gcc/testsuite/gfortran.dg/zero_sized_3.f90 new file mode 100644 index 000000000..e4e1c06d2 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/zero_sized_3.f90 @@ -0,0 +1,20 @@ +! { dg-do run } +! Testcase for PR libfortran/31001 + implicit none + + integer :: i, j, k + integer, allocatable :: mm(:) + logical, allocatable :: mask(:) + + do i = 2, -2, -1 + do k = 0, 1 + allocate (mm(i), mask(i)) + mm(:) = k + mask(:) = (mm == 0) + j = count (mask) + print *, pack (mm, mask) + if (size (pack (mm, mask)) /= j) call abort + deallocate (mm, mask) + end do + end do +end |