diff --git a/configure.ac b/configure.ac index 15f7bb4e69e..37252d9a76a 100644 --- a/configure.ac +++ b/configure.ac @@ -1074,14 +1074,6 @@ H5_FORTRAN_SHARED="no" if test "X${HDF_FORTRAN}" = "Xyes" && test "X${enable_shared}" != "Xno"; then AC_MSG_CHECKING([if shared Fortran libraries are supported]) H5_FORTRAN_SHARED="yes" - ## tell libtool to do the right thing with COMMON symbols, this fixes - ## corrupt values with COMMON and EQUIVALENCE when building shared - ## Fortran libraries on OSX with gnu and Intel compilers (HDFFV-2772). - case "`uname`" in - Darwin*) - H5_LDFLAGS="$H5_LDFLAGS -Wl,-commons,use_dylibs" - ;; - esac ## Report results of check(s) diff --git a/fortran/src/H5_ff.F90 b/fortran/src/H5_ff.F90 index 7bd2e261929..68b3dd874bb 100644 --- a/fortran/src/H5_ff.F90 +++ b/fortran/src/H5_ff.F90 @@ -12,8 +12,6 @@ ! PURPOSE ! This module is used to pass C stubs for H5 Fortran APIs. The C stubs are ! packed into arrays in H5_f.c and these arrays are then passed to Fortran. -! This module then uses EQUIVALENCE to assign elements of the arrays to -! Fortran equivalent C stubs. ! ! NOTES ! The size of the C arrays in H5_f.c has to match the values of the variables diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index f48493a71d5..2a4ea61b13e 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -265,6 +265,11 @@ New Features h5pget_file_space_page_size_f, h5pset_file_space_page_size_f, h5pget_file_space_strategy_f, h5pset_file_space_strategy_f + - Removed "-commons" linking option on Darwin, as COMMON and EQUIVALENCE + are no longer used in the Fortran source. + + Fixes GitHub issue #3571 + C++ Library: ------------ - diff --git a/src/H5FDmpio.c b/src/H5FDmpio.c index d2377cbc394..9149d2b0809 100644 --- a/src/H5FDmpio.c +++ b/src/H5FDmpio.c @@ -559,13 +559,13 @@ H5Pget_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t *xfer_mode /*out*/) /*------------------------------------------------------------------------- * Function: H5Pset_dxpl_mpio_collective_opt * - * Purpose: To set a flag to choose linked chunk I/O or multi-chunk I/O - * without involving decision-making inside HDF5 - * - * Note: The library will do linked chunk I/O or multi-chunk I/O without - * involving communications for decision-making process. - * The library won't behave as it asks for only when we find - * that the low-level MPI-IO package doesn't support this. + * Purpose: Set the data transfer property list DXPL_ID to use transfer + * mode OPT_MODE during I/O. This allows the application to + * specify collective I/O at the HDF5 interface level (with + * the H5Pset_dxpl_mpio routine), while controlling whether + * the actual I/O is performed collectively (e.g., via + * MPI_File_write_at_all) or independently (e.g., via + * MPI_File_write_at). * * Return: Success: Non-negative * Failure: Negative @@ -2032,7 +2032,7 @@ H5FD__mpio_vector_build_types(uint32_t count, H5FD_mem_t types[], haddr_t addrs[ /*------------------------------------------------------------------------- * Function: H5FD__mpio_read_vector() * - * Purpose: The behaviour of this function dependes on the value of + * Purpose: The behavior of this function depends on the value of * the io_xfer_mode obtained from the context. * * If it is H5FD_MPIO_COLLECTIVE, this is a collective diff --git a/src/H5FDmpio.h b/src/H5FDmpio.h index 36786016dfe..96a93668ea7 100644 --- a/src/H5FDmpio.h +++ b/src/H5FDmpio.h @@ -164,18 +164,24 @@ H5_DLL herr_t H5Pget_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t *xfer_mode /*out* /** * \ingroup DXPL * - * \brief Sets data transfer mode + * \brief Sets low-level data transfer mode * * \dxpl_id * \param[in] opt_mode Transfer mode * \returns \herr_t * - * \details H5Pset_dxpl_mpio() sets the data transfer property list \p dxpl_id - * to use transfer mode xfer_mode. The property list can then be used - * to control the I/O transfer mode during data I/O operations. - * - * Valid transfer modes are #H5FD_MPIO_INDEPENDENT (default) and - * #H5FD_MPIO_COLLECTIVE. + * \details H5Pset_dxpl_mpio_collective_opt() sets the data transfer property + * list \p dxpl_id to use transfer mode \p opt_mode when performing + * I/O. This allows the application to specify collective I/O at the + * HDF5 interface level (with the H5Pset_dxpl_mpio() API routine), + * while controlling whether the actual I/O is performed collectively + * (e.g., via MPI_File_write_at_all) or independently (e.g., via + * MPI_File_write_at). If the collectivity setting at the HDF5 + * interface level (set via H5Pset_dxpl_mpio()) is not set to + * H5FD_MPIO_COLLECTIVE, this setting will be ignored. + * + * Valid transfer modes are #H5FD_MPIO_COLLECTIVE_IO (default) and + * #H5FD_MPIO_INDIVIDUAL_IO. * * \since 1.4.0 * diff --git a/src/H5FDs3comms.c b/src/H5FDs3comms.c index b3fb2c16277..4ea0b622494 100644 --- a/src/H5FDs3comms.c +++ b/src/H5FDs3comms.c @@ -2755,7 +2755,7 @@ H5FD_s3comms_trim(char *dest, char *s, size_t s_len, size_t *n_written) /* Find first non-whitespace character from start; * reduce total length per character. */ - while ((s_len > 0) && isspace((unsigned char)s[0]) && s_len > 0) { + while (s_len > 0 && isspace((unsigned char)s[0])) { s++; s_len--; }