Files
Peter Klausler d6e1f70e67 [flang] Allow multiple identical DATA initializations (#177063)
ISO Fortran disallows DATA statements from affecting the same bit of
memory more than once; however, all (but one) other compilers allow this
usage. They differ, however, in the case of multiple distinct
initializations -- some compilers take the "last" value in source order,
some don't.

This patch accepts multiple identical DATA initializations, which is
portable usage that appears in code, and emits an optional warning. It
continues to detect and report multiple distinct DATA initializations,
since they are not portable.
2026-01-22 07:32:53 -08:00

13 lines
393 B
Fortran

! RUN: %python %S/test_errors.py %s %flang_fc1
module m
contains
subroutine s1
!ERROR: DATA statement initializations affect 'jb(5_8)' more than once, distinctly
integer :: ja(10), jb(10)
data (ja(k),k=1,9,2) / 5*1 / ! ok
data (ja(k),k=10,2,-2) / 5*2 / ! ok
data (jb(k),k=1,9,2) / 5*1 / ! ok
data (jb(k),k=2,10,3) / 3*2 / ! conflict at 5
end subroutine
end module