The following subroutine results in an ICE for x86 nvfortran 22.1 on the (ugly) WRITE statement:
subroutine foo(dim1, dim2, data)
implicit none
integer, intent(in) :: dim1, dim2
integer, intent(in) :: data(dim1, dim2)
integer :: f
write(*, '(5(I6,1x))') ((/ f, data(:,f)/), f=1,dim2)
! write(*, '(5(I6,1x))') (/ (f, data(:,f), f=1,dim2) /)
end subroutine foo
The error is:
NVFORTRAN-S-0000-Internal compiler error. items were added to sem.p_dealloc but not freed 0 (write.f90: 9)
0 inform, 0 warnings, 1 severes, 0 fatal for foo
Switching to the equivalent commented out line works as expected.