Files
clang-p2996/flang/test/Semantics/array-constr-len.f90
Peter Klausler 7f06560edb [flang] Re-land PR#97337 (#98656)
Pull request https://github.com/llvm/llvm-project/pull/97337 was
reverted by https://github.com/llvm/llvm-project/pull/98612 due
to two failing tests in llvm-test-suite -- which I ran, as always,
but must have bungled or misinterpreted (mea culpa).
    
The failing tests were llvm-test-suite/Fortran/gfortran/regression/
char_length_{20,21}.f90.  They have array constructors with
explicit character types whose dynamic length values are negative
at runtime, which must be interpreted as zero.
    
This patch extends the original to cover those cases.
2024-07-12 12:29:35 -07:00

15 lines
629 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)]
end