| ! { dg-do run } |
| ! { dg-options "-fcoarray=lib -lcaf_single" } |
| ! { dg-additional-options "-latomic" { target libatomic_available } } |
| |
| ! Contributed by Damian Rouson |
| |
| program main |
| implicit none |
| |
| type particles |
| real x(2) |
| end type |
| |
| type vector |
| type(particles), allocatable :: v(:) |
| end type |
| |
| type(vector) :: outbox[*] |
| type(particles), allocatable :: object(:)[:] |
| |
| allocate(outbox%v(1), source=particles(this_image())) |
| |
| if (any( outbox[1]%v(1)%x(1:2) /= [ 1.0, 1.0] )) STOP 1 |
| if (any( outbox[1]%v(1)%x(:) /= [ 1.0, 1.0] )) STOP 2 |
| if (any( outbox[1]%v(1)%x /= [ 1.0, 1.0] )) STOP 3 |
| |
| allocate(object(1)[*], source=particles(this_image())) |
| |
| if (any( object(1)[1]%x(1:2) /= [ 1.0, 1.0] )) STOP 4 |
| if (any( object(1)[1]%x(:) /= [ 1.0, 1.0] )) STOP 5 |
| if (any( object(1)[1]%x /= [ 1.0, 1.0] )) STOP 6 |
| end program |