diff options
author | Francois-Xavier Coudert <coudert@clipper.ens.fr> | 2007-03-03 17:37:54 +0100 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2007-03-03 16:37:54 +0000 |
commit | 42d53ef301752ba26a6e2d76929a8085a00c0d18 (patch) | |
tree | 9602966aa875abbb82cf2f175ed23ea17e0a1d0d /gcc | |
parent | 4e09692de3922d40138146608367dfbd0ac15c97 (diff) | |
download | gcc-42d53ef301752ba26a6e2d76929a8085a00c0d18.zip gcc-42d53ef301752ba26a6e2d76929a8085a00c0d18.tar.gz gcc-42d53ef301752ba26a6e2d76929a8085a00c0d18.tar.bz2 |
re PR libfortran/31001 ([4.1 only] PACK crashes on zero-sized arrays)
PR libfortran/31001
* intrinsics/pack_generic.c (pack_internal): Add special checks
for zero-sized arrays.
* gfortran.dg/zero_sized_3.f90: New test.
From-SVN: r122507
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/zero_sized_3.f90 | 20 |
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2b4a696..e3d16ac 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-03-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + PR libfortran/31001 + * gfortran.dg/zero_sized_3.f90: New test. + 2007-03-03 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c++/15787 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 0000000..e4e1c06 --- /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 |