re PR fortran/78741 (ICE in gfc_get_symbol_decl, at fortran/trans-decl.c:1534)
[official-gcc.git] / gcc / testsuite / gfortran.dg / coarray_subobject_1.f90
blob1e58d3706d32c300eeb2c187767f490a18b25491
1 ! { dg-do compile }
2 ! { dg-options "-fcoarray=single" }
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
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) STOP 1
22 if (any (lcobound(b%a) /= (/ 5 /))) STOP 2! { dg-error "Expected coarray variable" }
23 if (ucobound(b%a, dim=1) /= this_image() + 4) STOP 3! { dg-error "Expected coarray variable" }
24 if (any (lcobound(b%a%i) /= (/ 5 /))) STOP 4! { dg-error "Expected coarray variable" }
25 if (ucobound(b%a%i, dim=1) /= this_image() + 4) STOP 5! { dg-error "Expected coarray variable" }
26 if (b%c%i /= 13) STOP 6
27 if (any (lcobound(b%c) /= (/ 5 /))) STOP 7! { dg-error "Expected coarray variable" }
28 if (ucobound(b%c, dim=1) /= this_image() + 4) STOP 8! { dg-error "Expected coarray variable" }
29 if (any (lcobound(b%c%i) /= (/ 5 /))) STOP 9! { dg-error "Expected coarray variable" }
30 if (ucobound(b%c%i, dim=1) /= this_image() + 4) STOP 10! { dg-error "Expected coarray variable" }
31 end