Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/alloc_comp_default_init_2.f90 @ 144:8f4e72ab4e11
fix segmentation fault caused by nothing next cur_op to end
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 23 Dec 2018 21:23:56 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
! { dg-do run } ! Tests the fix for PR35959, in which the structure subpattern was declared static ! so that this test faied on the second recursive call. ! ! Contributed by Michaël Baudin <michael.baudin@gmail.com> ! program testprog type :: t_type integer, dimension(:), allocatable :: chars end type t_type integer, save :: callnb = 0 type(t_type) :: this allocate ( this % chars ( 4)) if (.not.recursivefunc (this) .or. (callnb .ne. 10)) STOP 1 contains recursive function recursivefunc ( this ) result ( match ) type(t_type), intent(in) :: this type(t_type) :: subpattern logical :: match callnb = callnb + 1 match = (callnb == 10) if ((.NOT. allocated (this % chars)) .OR. match) return allocate ( subpattern % chars ( 4 ) ) match = recursivefunc ( subpattern ) end function recursivefunc end program testprog