+ }
+ CHECK_NULL(2, MPI_ERR_ARG, array_of_sizes)
+ CHECK_NULL(3, MPI_ERR_ARG, array_of_subsizes)
+ CHECK_NULL(4, MPI_ERR_ARG, array_of_starts)
+ for (int i = 0; i < ndims; i++) {
+ CHECK_NEGATIVE_OR_ZERO(2, MPI_ERR_COUNT, array_of_sizes[i])
+ CHECK_NEGATIVE(3, MPI_ERR_COUNT, array_of_subsizes[i])
+ CHECK_NEGATIVE(4, MPI_ERR_COUNT, array_of_starts[i])
+ }
+ CHECK_NULL(7, MPI_ERR_ARG, newtype)
+ if (ndims==1){