summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/nullify_3.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/nullify_3.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/nullify_3.f9026
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/nullify_3.f90 b/gcc/testsuite/gfortran.dg/nullify_3.f90
new file mode 100644
index 000000000..7d202a258
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/nullify_3.f90
@@ -0,0 +1,26 @@
+! { dg-do run }
+! { dg-options "-O0 -fbounds-check" }
+! Tests patch for PR29371, in which the null pointer
+! assignment would cause a segfault with the bounds
+! check on.
+!
+! Contributed by Tobias Burnus <tobias.burnus@physik.fu-berlin.de>
+!
+program test
+ implicit none
+ type projector_t
+ real, pointer :: ket(:, :), bra(:, :)
+ end type projector_t
+
+ type(projector_t),pointer, dimension(:) :: p
+ integer :: stat,i
+ allocate(p(2),stat=stat)
+ do i = 1, 2
+ nullify(p(i)%bra)
+ nullify(p(i)%ket)
+ end do
+ do i = 1, 2
+ if (associated (p(i)%bra)) call abort ()
+ if (associated (p(i)%ket)) call abort ()
+ end do
+end program