The prif_co_* subroutines taking a dummy argument of type:
type(*), intent(inout), target :: a(..)
are designed to handle inputs with arbitrary rank, shape and contiguity. However our current test coverage fails to exercise that generality.
The tests for prif_co_{min,max} and prif_co_sum include contiguous rank-1 array inputs, and the latter have a few rank-2 arrays. However all the tests for prif_co_broadcast are scalar, and none of the collectives are exercising non-contiguous array inputs.
There is evidence that non-contiguous array inputs will malfunction on LFortran, due to this compiler defect: lfortran/lfortran#2979
CC: @Madhav1729
The
prif_co_*subroutines taking a dummy argument of type:are designed to handle inputs with arbitrary rank, shape and contiguity. However our current test coverage fails to exercise that generality.
The tests for
prif_co_{min,max}andprif_co_suminclude contiguous rank-1 array inputs, and the latter have a few rank-2 arrays. However all the tests forprif_co_broadcastare scalar, and none of the collectives are exercising non-contiguous array inputs.There is evidence that non-contiguous array inputs will malfunction on LFortran, due to this compiler defect: lfortran/lfortran#2979
CC: @Madhav1729