3 ! Coarray support -- corank declarations
8 integer(c_int), bind(C) :: a[*] ! { dg-error "BIND.C. attribute conflicts with CODIMENSION" }
10 type, bind(C) :: t ! { dg-error "cannot have the ALLOCATABLE" }
11 integer(c_int), allocatable :: a[:] ! { dg-error "cannot have the ALLOCATABLE" }
12 integer(c_int) :: b[*] ! { dg-error "must be allocatable" }
16 subroutine bind(a) bind(C) ! { dg-error "Coarray dummy variable" }
18 integer(c_int) :: a[*]
21 subroutine allo(x) ! { dg-error "can thus not be an allocatable coarray" }
22 integer, allocatable, intent(out) :: x[:]
26 integer :: modvar[*] ! OK, implicit save
28 complex, allocatable :: b(:,:,:,:)[:,:,:]
33 integer, parameter :: a[*] = 4 ! { dg-error "PARAMETER attribute conflicts with CODIMENSION" }
34 integer, pointer :: b[:] ! { dg-error "is not ALLOCATABLE, SAVE nor a dummy" }
40 volatile :: a ! { dg-error "Specifying VOLATILE for coarray" }
44 volatile :: a ! { dg-error "Specifying VOLATILE for coarray" }
49 function func() result(func2) ! { dg-error "shall not be a coarray or have a coarray component" }
56 integer, allocatable :: a[:]
59 type(t), allocatable :: b ! { dg-error "nonpointer, nonallocatable scalar" }
62 type(t), pointer :: c ! { dg-error "nonpointer, nonallocatable scalar" }
65 type(t) :: d(4) ! { dg-error "nonpointer, nonallocatable scalar" }
67 end subroutine invalid
70 integer :: a(:)[4,-1:6,4:*]
72 integer, allocatable :: a[:]
77 type(t2), save :: xt2[*]
81 integer :: A[*] ! Valid, implicit SAVE attribute
84 ! { dg-final { cleanup-modules "m" } }