! Like array_constructor_6.f90, but test for nested iterators. ! { dg-do run } program main implicit none call build (17) contains subroutine build (order) integer :: order, i, j call test (order, (/ (((j + 100) * i, j = 1, i), i = 1, order) /)) call test (9, (/ (((j + 100) * i, j = 1, i), i = 1, 9) /)) call test (3, (/ 101, 202, 204, 303, 306, 309 /)) end subroutine build subroutine test (order, values) integer, dimension (:) :: values integer :: order, i, j if (size (values, dim = 1) .ne. order * (order + 1) / 2) call abort do i = 1, order do j = 1, i if (values (i * (i - 1) / 2 + j) .ne. (j + 100) * i) call abort end do end do end subroutine test end program main