subroutine foo(n,x)implicit noneinteger,intent(in)::ncomplex(8),intent(out)::x(n,*)x(1,1)=0.d0x(n,1)=0.d0x(:,1)=0.d0x(2:,1)=0.d0x(:n-1,1)=0.d0x((/1,n/),1)=0.d0end subroutine fooprogram testimplicit noneinteger,parameter::n=17complex(8)::x(n,n)call foo(n,x)end program test