Add execution tests of ARM EXT intrinsics
[official-gcc.git] / gcc / testsuite / gfortran.dg / coarray / poly_run_3.f90
blob17a010844ebb59114b1f0b8f6af7c987872ed058
1 ! { dg-do run }
3 ! Check that the bounds of polymorphic coarrays is
4 ! properly handled.
6 type t
7 end type t
8 class(t), allocatable :: a(:)[:]
9 class(t), allocatable :: b[:], d[:]
11 allocate(a(1)[*])
12 if (this_image() == 1 .and. any (this_image(a) /= lcobound(a))) &
13 call abort ()
14 if (any (lcobound(a) /= 1)) call abort()
15 if (any (ucobound(a) /= this_image())) call abort ()
16 deallocate(a)
18 allocate(b[*])
19 if (this_image() == 1 .and. any (this_image(b) /= lcobound(b))) &
20 call abort ()
21 if (any (lcobound(b) /= 1)) call abort()
22 if (any (ucobound(b) /= this_image())) call abort ()
23 deallocate(b)
25 allocate(a(1)[-10:*])
26 if (this_image() == 1 .and. any (this_image(a) /= lcobound(a))) &
27 call abort ()
28 if (any (lcobound(a) /= -10)) call abort()
29 if (any (ucobound(a) /= -11+this_image())) call abort ()
30 deallocate(a)
32 allocate(d[23:*])
33 if (this_image() == 1 .and. any (this_image(d) /= lcobound(d))) &
34 call abort ()
35 if (any (lcobound(d) /= 23)) call abort()
36 if (any (ucobound(d) /= 22+this_image())) call abort ()
37 deallocate(d)
39 end