Skip to content

Commit

Permalink
Merge branch 'HDFGroup:develop' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
hyoklee authored Sep 26, 2023
2 parents b43965a + 08b574d commit 09500f8
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 26 deletions.
8 changes: 0 additions & 8 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
2 changes: 0 additions & 2 deletions fortran/src/H5_ff.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions release_docs/RELEASE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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:
------------
-
Expand Down
16 changes: 8 additions & 8 deletions src/H5FDmpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
20 changes: 13 additions & 7 deletions src/H5FDmpio.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
*
Expand Down
2 changes: 1 addition & 1 deletion src/H5FDs3comms.c
Original file line number Diff line number Diff line change
Expand Up @@ -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--;
}
Expand Down

0 comments on commit 09500f8

Please sign in to comment.