blob: 4498957270c71c25742cc790ba46ed0dd29edb65 [file] [log] [blame]
! { dg-do compile }
!
! PR fortran/30940
program test
implicit none
interface
subroutine foo(a)
character(len=1),dimension(:) :: a
end subroutine foo
subroutine bar(a)
character(len=1),dimension(:,:) :: a
end subroutine bar
subroutine foobar(a)
character(len=1),dimension(4) :: a
end subroutine foobar
subroutine arr(a)
character(len=1),dimension(1,2,1,2) :: a
end subroutine arr
end interface
character(len=2) :: len2
character(len=4) :: len4
len2 = '12'
len4 = '1234'
call foo(len2) ! { dg-error "Rank mismatch in argument" }
call foo("ca") ! { dg-error "Rank mismatch in argument" }
call bar("ca") ! { dg-error "Rank mismatch in argument" }
call foobar(len2) ! { dg-error "contains too few elements" }
call foobar(len4)
call foobar("bar") ! { dg-error "contains too few elements" }
call foobar("bar33")
call arr(len2) ! { dg-error "contains too few elements" }
call arr(len4)
call arr("bar") ! { dg-error "contains too few elements" }
call arr("bar33")
end program test