diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/H5Dmpio.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/H5Dmpio.c b/src/H5Dmpio.c index 0620459..655d475 100644 --- a/src/H5Dmpio.c +++ b/src/H5Dmpio.c @@ -4068,10 +4068,18 @@ H5D__mpio_share_chunk_modification_data(H5D_filtered_collective_io_info_t *chunk else { int all_sends_completed; - /* Determine if all send requests have completed */ + /* Determine if all send requests have completed + * + * gcc 11 complains about passing MPI_STATUSES_IGNORE as an MPI_Status + * array. See the discussion here: + * + * https://github.com/pmodels/mpich/issues/5687 + */ + H5_GCC_DIAG_OFF("stringop-overflow") if (MPI_SUCCESS != (mpi_code = MPI_Testall((int)num_send_requests, send_requests, &all_sends_completed, MPI_STATUSES_IGNORE))) HMPI_GOTO_ERROR(FAIL, "MPI_Testall failed", mpi_code) + H5_GCC_DIAG_ON("stringop-overflow") if (all_sends_completed) { /* Post non-blocking barrier */ @@ -4105,9 +4113,16 @@ H5D__mpio_share_chunk_modification_data(H5D_filtered_collective_io_info_t *chunk * in the order that chunks are processed. So, the safest way to * support both I/O modes is to simply make sure all messages * are available. + * + * gcc 11 complains about passing MPI_STATUSES_IGNORE as an MPI_Status + * array. See the discussion here: + * + * https://github.com/pmodels/mpich/issues/5687 */ + H5_GCC_DIAG_OFF("stringop-overflow") if (MPI_SUCCESS != (mpi_code = MPI_Waitall((int)num_recv_requests, recv_requests, MPI_STATUSES_IGNORE))) HMPI_GOTO_ERROR(FAIL, "MPI_Waitall failed", mpi_code) + H5_GCC_DIAG_ON("stringop-overflow") /* Set the new number of locally-selected chunks */ *chunk_list_num_entries = last_assigned_idx; |