33 lines
954 B
Fortran
33 lines
954 B
Fortran
! { dg-do compile }
|
|
! Tests standard indepedendent constraints for variables in a data statement
|
|
!
|
|
! Contributed by Paul Thomas <pault@gcc.gnu.org>
|
|
!
|
|
module global
|
|
integer n
|
|
end module global
|
|
|
|
use global
|
|
integer q
|
|
data n /0/ ! { dg-error "Cannot change attributes" }
|
|
n = 1
|
|
n = foo (n)
|
|
contains
|
|
function foo (m) result (bar)
|
|
integer p (m), bar
|
|
integer, allocatable :: l(:)
|
|
allocate (l(1))
|
|
data l /42/ ! { dg-error "conflicts with ALLOCATABLE" }
|
|
data p(1) /1/ ! { dg-error "non-constant array in DATA" }
|
|
data q /1/ ! { dg-error "Host associated variable" }
|
|
data m /1/ ! { dg-error "conflicts with DUMMY attribute" }
|
|
data bar /99/ ! { dg-error "conflicts with RESULT" }
|
|
end function foo
|
|
function foobar ()
|
|
integer foobar
|
|
data foobar /0/ ! { dg-error "conflicts with FUNCTION" }
|
|
end function foobar
|
|
end
|
|
|
|
! { dg-final { cleanup-modules "global" } }
|