view gcc/testsuite/gfortran.dg/select_type_13.f03 @ 118:fd00160c1b76

ifdef TARGET_64BIT
author mir3636
date Tue, 27 Feb 2018 15:01:35 +0900
parents 04ced10e8804
children 84e7813d76e9
line wrap: on
line source

! { dg-do run }

! PR fortran/45384
! Double free happened, check that it works now.

! Contributed by Salvatore Filippone  <salvatore.filippone@uniroma2.it>

program bug20

  type :: d_base_sparse_mat
    integer :: v(10) = 0.
  end type d_base_sparse_mat

  class(d_base_sparse_mat),allocatable :: a

  allocate (d_base_sparse_mat :: a)

  select type(aa => a)
  type is (d_base_sparse_mat)
    write(0,*) 'NV = ',size(aa%v)
    if (size(aa%v) /= 10) call abort ()
  class default 
    write(0,*) 'Not implemented yet '
  end select

end program bug20