summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/coarray_lib_move_alloc_1.f90
blob: e344eb834a4a7dc2b93a752a71daacf335d2ddbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
! { dg-do compile }
! { dg-options "-fcoarray=lib -fdump-tree-original" }
!
! PR fortran/53526
!
! Check handling of move_alloc with coarrays

subroutine ma_scalar (aa, bb)
  integer, allocatable :: aa[:], bb[:]
  call move_alloc(aa,bb)
end

subroutine ma_array (cc, dd)
  integer, allocatable :: cc(:)[:], dd(:)[:]
  call move_alloc (cc, dd)
end

! { dg-final { scan-tree-dump-times "free" 0 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_caf_sync_all" 2 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_caf_deregister" 2 "original" } }
! { dg-final { scan-tree-dump-times "\\*bb = \\*aa" 1 "original" } }
! { dg-final { scan-tree-dump-times "\\*dd = \\*cc" 1 "original" } }