llvm-project/flang/test/Semantics/array-constr-len.f90
Peter Klausler 7995fa2fd6
[flang] Catch case of character array constructor with indeterminable length
F'2023 7.8 para 5 requires that an implied DO loop with no iterations
in a character array constructor should have items whose lengths are
constant expressions independent of the value of the implied DO loop
index.

Differential Revision: https://reviews.llvm.org/D155968
2023-07-21 13:26:34 -07:00

15 lines
634 B
Fortran

! RUN: %python %S/test_errors.py %s %flang_fc1
! Confirm enforcement of F'2023 7.8 p5
subroutine subr(s,n)
character*(*) s
!ERROR: Array constructor implied DO loop has no iterations and indeterminate character length
print *, [(s(1:n),j=1,0)]
!ERROR: Array constructor implied DO loop has no iterations and indeterminate character length
print *, [(s(1:n),j=0,1,-1)]
!ERROR: Array constructor implied DO loop has no iterations and indeterminate character length
print *, [(s(1:j),j=1,0)]
print *, [(s(1:1),j=1,0)] ! ok
print *, [character(2)::(s(1:n),j=1,0)] ! ok
print *, [character(n)::(s(1:n),j=1,0)] ! ok
end