When count= 0, mpich should not raise error if array_of_requests is NULL. Otherwise, one has to write code like if (count) MPI_Startall(count, reqs). Note reqs is often NULL if count=0. See also MPI_Waitall, which has the correct logic.
MPI_Startall(int count, MPI_Request array_of_requests[]) {
...
MPIR_ERRTEST_COUNT(count, mpi_errno);
MPIR_ERRTEST_ARGNULL(array_of_requests, "array_of_requests", mpi_errno);
}
--Junchao Zhang