1! { dg-do compile }
2! { dg-options "-fcoarray=lib -fdump-tree-original" }
3!
4! PR fortran/53526
5!
6! Check handling of move_alloc with coarrays
7
8subroutine ma_scalar (aa, bb)
9  integer, allocatable :: aa[:], bb[:]
10  call move_alloc(aa,bb)
11end
12
13subroutine ma_array (cc, dd)
14  integer, allocatable :: cc(:)[:], dd(:)[:]
15  call move_alloc (cc, dd)
16end
17
18! { dg-final { scan-tree-dump-times "free" 0 "original" } }
19! { dg-final { scan-tree-dump-times "_gfortran_caf_sync_all" 2 "original" } }
20! { dg-final { scan-tree-dump-times "_gfortran_caf_deregister" 2 "original" } }
21! { dg-final { scan-tree-dump-times "\\*bb = \\*aa" 1 "original" } }
22! { dg-final { scan-tree-dump-times "\\*dd = \\*cc" 1 "original" } }
23