88072f9b8b
The subarray datatype was not packing/unpacking correctly. This was leading to wrong results whenever the lb of the subarray datatype was non-zero. I tracked the issue to the use of ompi_datatype_create_resized. This function simply duplicates the old datatype and sets the lb and extent. This is unfortunately insufficent for the pack/unpack functions which use the loop end first element offset NOT the lb. This offset is 0 in the resized datatype. Once ompi_datatype_create_resized has been fixed this commit should be reverted. Fixes #380. Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov> |
||
---|---|---|
.. | ||
Makefile.am | ||
ompi_datatype_args.c | ||
ompi_datatype_create_contiguous.c | ||
ompi_datatype_create_darray.c | ||
ompi_datatype_create_indexed.c | ||
ompi_datatype_create_struct.c | ||
ompi_datatype_create_subarray.c | ||
ompi_datatype_create_vector.c | ||
ompi_datatype_create.c | ||
ompi_datatype_external32.c | ||
ompi_datatype_get_elements.c | ||
ompi_datatype_internal.h | ||
ompi_datatype_match_size.c | ||
ompi_datatype_module.c | ||
ompi_datatype_sndrcv.c | ||
ompi_datatype.h |