diff options
| -rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/alloc_comp_misc_1.f90 | 28 |
2 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 54b392f..9f4a390 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-07-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/29804 + * gfortran.dg/alloc_comp_misc_1.f90: New test. + 2007-07-11 Daniel Berlin <dberlin@dberlin.org> * gfortran.fortran-torture/compile/pr32663.f90: New test. diff --git a/gcc/testsuite/gfortran.dg/alloc_comp_misc_1.f90 b/gcc/testsuite/gfortran.dg/alloc_comp_misc_1.f90 new file mode 100644 index 0000000..e118b03 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/alloc_comp_misc_1.f90 @@ -0,0 +1,28 @@ +! PR 29804 +! This used to fail, it was magically fixed; keep in the testsuite so +! that we keep an eye on it. +! +! { dg-do run } +! { dg-options "-fbounds-check" } +program dt_bnd + implicit none + + type dbprc_type + integer, allocatable :: ipv(:) + end type dbprc_type + + type(dbprc_type), allocatable :: pre(:) + call ppset(pre) + +contains + subroutine ppset(p) + type(dbprc_type),allocatable, intent(inout) :: p(:) + integer :: nl + nl = 1 + + allocate(p(1)) + if (.not.allocated(p(nl)%ipv)) then + allocate(p(1)%ipv(1)) + end if + end subroutine ppset +end program dt_bnd |
