3 ! Basic tests of SELECT RANK
5 ! Contributed by Paul Thomas <pault@gcc.gnu.org>
9 integer, dimension(3) :: arg
10 select
rank (arg
) ! { dg-error "must be an assumed rank variable" }
11 rank (3) ! { dg-error "Unexpected RANK statement" }
13 end select
! { dg-error "Expecting END SUBROUTINE" }
18 integer, dimension(..) :: arg
20 rank (i
) ! { dg-error "must be a scalar" }
21 print *, arg
! { dg-error "Expected RANK or RANK DEFAULT" }
27 integer, parameter :: r
= 3
28 integer, dimension(..) :: arg
30 rank (16) ! { dg-error "must not be less than zero or greater than 15" }
31 print *, arg
! { dg-error "Expected RANK or RANK DEFAULT" }
32 rank (-1) ! { dg-error "must not be less than zero or greater than 15" }
33 print *, arg
! { dg-error "Expected RANK or RANK DEFAULT" }
41 integer, dimension(..), pointer :: arg
42 select
rank (arg
) ! { dg-error "cannot be used with the pointer or allocatable selector" }
43 rank (*) ! { dg-error "cannot be used with the pointer or allocatable selector" }
52 integer, dimension(..), ALLOCATABLE
:: arg
53 select
rank (arg
) ! { dg-error "cannot be used with the pointer or allocatable selector" }
54 rank (*) ! { dg-error "pointer or allocatable selector|deferred shape or assumed rank" }
63 integer, dimension(..) :: arg
66 print *, arg
! { dg-error "assumed.size array" }
74 integer, dimension(..) :: arg
76 rank (1) ! { dg-error "is repeated" }
78 rank (1) ! { dg-error "is repeated" }
80 rank (*) ! { dg-error "is repeated" }
81 rank (*) ! { dg-error "is repeated" }
82 rank default
! { dg-error "is repeated" }
83 rank default
! { dg-error "is repeated" }