summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/move_alloc_2.f90
blob: 5dabca849db17f1192ab2937cbe970ee38b19814 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
! { dg-do run }
!
! PR 45004: [OOP] Segfault with allocatable scalars and move_alloc
!
! Contributed by Salvatore Filippone <sfilippone@uniroma2.it>

program bug18

  type foo
    integer :: i
  end type foo

  type bar
    class(foo), allocatable :: bf
  end type bar

  class(foo), allocatable :: afab
  type(bar) :: bb

  allocate(foo :: afab)
  afab%i = 8
  call move_alloc(afab, bb%bf)
  if (.not. allocated(bb%bf)) call abort()
  if (allocated(afab)) call abort()
  if (bb%bf%i/=8) call abort()

end program bug18