! { dg-do run } ! { dg-options "-fcoarray=lib -lcaf_single" } ! { dg-additional-options "-latomic" { target libatomic_available } } program coarray_41 integer, allocatable :: vec(:)[:,:] allocate(vec(10)[2,*], source= 37) if (.not. allocated(vec)) error stop call foo(vec) if (any(vec /= 42)) error stop deallocate(vec) contains subroutine foo(gv) integer, allocatable, intent(inout) :: gv(:)[:,:] integer, allocatable :: gvin(:) allocate(gvin, mold=gv) gvin = 5 gv = gv + gvin end subroutine foo end program coarray_41