From 57200e086eac3794a8a7ebe0f89a2b77a4e51a59 Mon Sep 17 00:00:00 2001 From: Francois-Xavier Coudert Date: Thu, 12 Jul 2007 10:58:49 +0000 Subject: [PATCH] re PR fortran/29804 (segfault with -fbounds-check on allocatable derived type components) PR fortran/29804 * gfortran.dg/alloc_comp_misc_1.f90: New test. From-SVN: r126578 --- gcc/testsuite/ChangeLog | 5 ++++ .../gfortran.dg/alloc_comp_misc_1.f90 | 28 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/alloc_comp_misc_1.f90 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 54b392fcf76..9f4a390bc38 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-07-12 Francois-Xavier Coudert + + PR fortran/29804 + * gfortran.dg/alloc_comp_misc_1.f90: New test. + 2007-07-11 Daniel Berlin * 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 00000000000..e118b032801 --- /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 -- 2.30.2