summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/data_constraints_1.f90
blob: bcf23ba34acf5d14f61859d4c20a405fd682796f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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" } }