! { dg-do compile }
! { dg-options "-std=f95 -fmax-errors=0" }
!
! Testcases from PR fortran/24978
!

SUBROUTINE data_init_scalar_invalid()
  integer :: a
  data       a / 1 /
  data       a / 1 /                             ! { dg-error "re-initialization" }

  integer :: b = 0
  data       b / 1 /                             ! { dg-error "re-initialization" }
END SUBROUTINE

SUBROUTINE data_init_array_invalid()
  ! initialize (at least) one element, re-initialize full array
  integer :: a(3)
  data       a(2) / 2 /
  data       a    / 3*1 /                        ! { dg-error "re-initialization" }

  ! initialize (at least) one element, re-initialize subsection including the element
  integer :: b(3)
  data       b(2)   / 2 /
  data       b(1:2) / 2*1 /                      ! { dg-error "re-initialization" }

  ! initialize subsection, re-initialize (intersecting) subsection
  integer :: c(3)
  data       c(1:2) / 2*1 /
  data       c(2:3) / 1,1 /                      ! { dg-error "re-initialization" }

  ! initialize subsection, re-initialize full array
  integer :: d(3)
  data       d(2:3) / 2*1 /
  data       d      / 2*2, 3 /                   ! { dg-error "re-initialization" }

  ! full array initializer, re-initialize (at least) one element
  integer :: e(3)
  data       e    / 3*1 /
  data       e(2) / 2 /                          ! { dg-error "re-initialization" }

  integer :: f(3) = 0                            ! { dg-error "already is initialized" }
  data       f(2) / 1 /

  ! full array initializer, re-initialize subsection
  integer :: g(3)
  data       g      / 3*1 /
  data       g(1:2) / 2*2 /                      ! { dg-error "re-initialization" }

  integer :: h(3) = 1                            ! { dg-error "already is initialized" }
  data       h(2:3) / 2*2 /

  ! full array initializer, re-initialize full array
  integer :: i(3)
  data       i   / 3*1 /
  data       i   / 2,2,2 /                       ! { dg-error "re-initialization" }

  integer :: j(3) = 1                            ! { dg-error "already is initialized" }
  data       j   / 3*2 /
END SUBROUTINE

SUBROUTINE data_init_matrix_invalid()
  ! initialize (at least) one element, re-initialize full matrix
  integer :: a(3,3)
  data       a(2,2) / 1 /
  data       a      / 9*2 /                      ! { dg-error "re-initialization" }

  ! initialize (at least) one element, re-initialize subsection
  integer :: b(3,3)
  data       b(2,2) / 1 /
  data       b(2,:) / 3*2 /                      ! { dg-error "re-initialization" }

  ! initialize subsection, re-initialize (intersecting) subsection
  integer :: c(3,3)
  data       c(3,:) / 3*1 /, c(:,3) / 3*2 /      ! { dg-error "re-initialization" }

  ! initialize subsection, re-initialize full array
  integer :: d(3,3)
  data       d(2,:) / 1,2,3 /
  data       d      / 9*4 /                      ! { dg-error "re-initialization" }

  ! full array initializer, re-initialize (at least) one element
  integer :: e(3,3)
  data       e      / 9*1 /
  data       e(2,3) / 2 /                        ! { dg-error "re-initialization" }

  integer :: f(3,3) = 1                          ! { dg-error "already is initialized" }
  data       f(3,2) / 2 /

  ! full array initializer, re-initialize subsection
  integer :: g(3,3)
  data       g          / 9 * 1 /
  data       g(2:3,2:3) / 2, 2*3, 4 /            ! { dg-error "re-initialization" }

  integer :: h(3,3) = 1                          ! { dg-error "already is initialized" }
  data       h(2:3,2:3) / 2, 2*3, 4 /

  ! full array initializer, re-initialize full array
  integer :: i(3,3)
  data       i   / 3*1, 3*2, 3*3 /
  data       i   / 9 * 1 /                       ! { dg-error "re-initialization" }

  integer :: j(3,3) = 0                          ! { dg-error "already is initialized" }
  data       j   / 9 * 1 /
END SUBROUTINE

SUBROUTINE data_init_misc_invalid()
  ! wrong number of dimensions
  integer :: a(3)
  data       a(1,1) / 1 /                        ! { dg-error "Rank mismatch" }

  ! index out-of-bounds, direct access
  integer :: b(3)
  data       b(-2) / 1 /                         ! { dg-error "below array lower bound" }

  ! index out-of-bounds, implied do-loop (PR32315)
  integer :: i
  character(len=20), dimension(4) :: string
  data (string(i), i = 1, 5) / 'A', 'B', 'C', 'D', 'E' /   ! { dg-error "above array upper bound" }
END SUBROUTINE

! { dg-excess-errors "" }
