OSDN Git Service

PR fortran/50420
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / coarray_subobject_1.f90
1 ! { dg-do compile }
2 ! { dg-options "-fcoarray=single" }
3 !
4 ! PR fortran/50420
5 ! Coarray subobjects were not accepted as valid coarrays
6 ! They should still be rejected if one of the component reference is allocatable
7 ! or pointer
8
9 type t
10   integer :: i
11 end type t
12 type t2
13   type(t), allocatable :: a
14   type(t), pointer     :: c
15 end type t2
16 type(t2) :: b[5:*]
17 allocate(b%a)
18 allocate(b%c)
19 b%a%i = 7
20 b%c%i = 13
21 if (b%a%i /= 7) call abort
22 if (any (lcobound(b%a) /= (/ 5 /))) call abort             ! { dg-error "Expected coarray variable" }
23 if (ucobound(b%a, dim=1) /= this_image() + 4) call abort   ! { dg-error "Expected coarray variable" }
24 if (any (lcobound(b%a%i) /= (/ 5 /))) call abort           ! { dg-error "Expected coarray variable" }
25 if (ucobound(b%a%i, dim=1) /= this_image() + 4) call abort ! { dg-error "Expected coarray variable" }
26 if (b%c%i /= 13) call abort
27 if (any (lcobound(b%c) /= (/ 5 /))) call abort             ! { dg-error "Expected coarray variable" }
28 if (ucobound(b%c, dim=1) /= this_image() + 4) call abort   ! { dg-error "Expected coarray variable" }
29 if (any (lcobound(b%c%i) /= (/ 5 /))) call abort           ! { dg-error "Expected coarray variable" }
30 if (ucobound(b%c%i, dim=1) /= this_image() + 4) call abort ! { dg-error "Expected coarray variable" }
31 end