blob: 86da3f853c3a05df6cc6988e518a06c987e08b62 [file] [log] [blame]
! { dg-do compile }
! { dg-options "-fcoarray=single" }
!
! PR fortran/48820
!
! Assumed-rank constraint checks and other diagnostics
!
subroutine foo(x) ! { dg-error "Assumed-type variable x at .1. may not have the INTENT.OUT. attribute" }
type(*), intent(out) :: x
end subroutine
subroutine bar(x)
integer, intent(out) :: x(..)
end subroutine bar
subroutine foo3(y)
integer :: y(..)
y = 7 ! { dg-error "Assumed-rank variable y at .1. may only be used as actual argument" }
print *, y + 10 ! { dg-error "Assumed-rank variable y at .1. may only be used as actual argument" }
print *, y ! { dg-error "Assumed-rank variable y at .1. may only be used as actual argument" }
end subroutine
subroutine foo2(x, y)
integer :: x(..), y(..)
call valid3(x(:)) ! { dg-error "Assumed-rank variable x at .1. shall not have a subobject reference" }
contains
subroutine valid3(y)
integer :: y(..)
end subroutine
end subroutine
subroutine foo4(x)
integer, codimension[*] :: x(..) ! { dg-error "The assumed-rank array at .1. shall not have a codimension" }
end subroutine
subroutine foo5(y) ! { dg-error "may not have the VALUE or CODIMENSION attribute" }
integer :: y(..)[*]
end subroutine