! RUN: %python %S/test_errors.py %s %flang_fc1
!Testing data constraints : C874 - C875, C878 - C881
module m
    integer, target :: modarray(1)
  contains
    function f(i)
      integer, intent(in) :: i
      integer, pointer :: f
      f => modarray(i)
    end
    subroutine CheckObject
      type specialNumbers
        integer one
        integer numbers(5)
      end type
      type large
        integer elt(10)
        integer val
        type(specialNumbers) nums
        type(specialNumbers) numsArray(5)
      end type
      type(specialNumbers), parameter ::newNums = &
              specialNumbers(1, (/ 1, 2, 3, 4, 5 /))
      type(specialNumbers), parameter ::newNumsArray(2) = &
              (/ SpecialNumbers(1, (/ 1, 2, 3, 4, 5 /)), &
              SpecialNumbers(1, (/ 1, 2, 3,4, 5 /)) /)
      type(specialNumbers) nums
      type(large) largeArray(5)
      type(large) largeNumber
      real :: a[*]
      real :: b(5)
      integer :: x
      real, parameter:: c(5) = (/ 1, 2, 3, 4, 5 /)
      integer :: d(10, 10)
      character :: name(12)
      integer :: ind = 2
      !ERROR: Data statement object must be a variable
      DATA name%len / 666 /
      !C874
      !ERROR: Data object must not be a coindexed variable
      DATA a[1] / 1 /
      !C874
      !ERROR: Data object must not be a coindexed variable
      DATA(a[i], i = 1, 5) / 5 * 1 /
      !C875
      !ERROR: Data object variable must not be a function reference
      DATA f(1) / 1 / 
      !C875
      !ERROR: Data object must have constant subscripts
      DATA b(ind) / 1 /
      !C875
      !ERROR: Data object must have constant subscripts
      DATA name( : ind) / 'Ancd' /
      !C875
      !ERROR: Data object must have constant subscripts
      DATA name(ind:) / 'Ancd' /
      !C878
      !ERROR: Data implied do object must be a variable
      DATA(c(i), i = 1, 5) / 5 * 1 /
      !C878
      !ERROR: Data implied do object must be a variable
      DATA(newNumsArray(i), i = 1, 2) &
              / specialNumbers(1, 2 * (/ 1, 2, 3, 4, 5 /)) /
      !C880
      !ERROR: Data implied do structure component must be subscripted
      DATA(nums % one, i = 1, 5) / 5 * 1 /
      !C879
      !ERROR: Data implied do object must be a variable
      DATA(newNums % numbers(i), i = 1, 5) / 5 * 1 /
      !C879
      !ERROR: Data implied do object must be a variable
      DATA(newNumsArray(i) % one, i = 1, 5) / 5 * 1 /
      !C880
      !OK: Correct use
      DATA(largeArray(j) % nums % one, j = 1, 5) / 5 * 1 /
      !C880
      !OK: Correct use
      DATA(largeNumber % numsArray(j) % one, j = 1, 5) / 5 * 1 /
      !C881
      !ERROR: Data object must have constant subscripts
      DATA(b(x), i = 1, 5) / 5 * 1 /
      !C881
      !OK: Correct use
      DATA(nums % numbers(i), i = 1, 5) / 5 * 1 /
      !C881
      !OK: Correct use
      DATA((d(i, j), i = 1, 10), j = 1, 10) / 100 * 1 /
      !C881
      !OK: Correct use
      DATA(d(i, 1), i = 1, 10) / 10 * 1 /
    end
  end
