brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · d9bead7 Raw
93 lines · plain
1! RUN: %python %S/test_errors.py %s %flang_fc12!Testing data constraints : C874 - C875, C878 - C8813module m4    integer, target :: modarray(1)5  contains6    function f(i)7      integer, intent(in) :: i8      integer, pointer :: f9      f => modarray(i)10    end11    subroutine CheckObject12      type specialNumbers13        integer one14        integer numbers(5)15      end type16      type large17        integer elt(10)18        integer val19        type(specialNumbers) nums20        type(specialNumbers) numsArray(5)21      end type22      type(specialNumbers), parameter ::newNums = &23              specialNumbers(1, (/ 1, 2, 3, 4, 5 /))24      type(specialNumbers), parameter ::newNumsArray(2) = &25              (/ SpecialNumbers(1, (/ 1, 2, 3, 4, 5 /)), &26              SpecialNumbers(1, (/ 1, 2, 3,4, 5 /)) /)27      type(specialNumbers) nums28      type(large) largeArray(5)29      type(large) largeNumber30      real :: a[*]31      real :: b(5)32      integer :: x33      real, parameter:: c(5) = (/ 1, 2, 3, 4, 5 /)34      integer :: d(10, 10)35      character :: name(12)36      integer :: ind = 237      !ERROR: Data statement object must be a variable38      DATA name%len / 666 /39      !C87440      !ERROR: Data object must not be a coindexed variable41      DATA a[1] / 1 /42      !C87443      !ERROR: Data object must not be a coindexed variable44      DATA(a[i], i = 1, 5) / 5 * 1 /45      !C87546      !ERROR: Data object variable must not be a function reference47      DATA f(1) / 1 / 48      !C87549      !ERROR: Data object must have constant subscripts50      DATA b(ind) / 1 /51      !C87552      !ERROR: Data object must have constant subscripts53      DATA name( : ind) / 'Ancd' /54      !C87555      !ERROR: Data object must have constant subscripts56      DATA name(ind:) / 'Ancd' /57      !C87858      !ERROR: Data implied do object must be a variable59      DATA(c(i), i = 1, 5) / 5 * 1 /60      !C87861      !ERROR: Data implied do object must be a variable62      DATA(newNumsArray(i), i = 1, 2) &63              / specialNumbers(1, 2 * (/ 1, 2, 3, 4, 5 /)) /64      !C88065      !ERROR: Data implied do structure component must be subscripted66      DATA(nums % one, i = 1, 5) / 5 * 1 /67      !C87968      !ERROR: Data implied do object must be a variable69      DATA(newNums % numbers(i), i = 1, 5) / 5 * 1 /70      !C87971      !ERROR: Data implied do object must be a variable72      DATA(newNumsArray(i) % one, i = 1, 5) / 5 * 1 /73      !C88074      !OK: Correct use75      DATA(largeArray(j) % nums % one, j = 1, 5) / 5 * 1 /76      !C88077      !OK: Correct use78      DATA(largeNumber % numsArray(j) % one, j = 1, 5) / 5 * 1 /79      !C88180      !ERROR: Data object must have constant subscripts81      DATA(b(x), i = 1, 5) / 5 * 1 /82      !C88183      !OK: Correct use84      DATA(nums % numbers(i), i = 1, 5) / 5 * 1 /85      !C88186      !OK: Correct use87      DATA((d(i, j), i = 1, 10), j = 1, 10) / 100 * 1 /88      !C88189      !OK: Correct use90      DATA(d(i, 1), i = 1, 10) / 10 * 1 /91    end92  end93