diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/data_constraints_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/data_constraints_1.f90 | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/data_constraints_1.f90 b/gcc/testsuite/gfortran.dg/data_constraints_1.f90 new file mode 100644 index 000000000..bcf23ba34 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/data_constraints_1.f90 @@ -0,0 +1,32 @@ +! { 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" } } |