summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVailin Choi <vchoi@hdfgroup.org>2014-11-19 00:29:26 (GMT)
committerVailin Choi <vchoi@hdfgroup.org>2014-11-19 00:29:26 (GMT)
commita00ad64f468e8ea4d19c17675258694a06febe32 (patch)
treee9213dd225503dc1806dc4b326b565567f9671ef /src
parent5a3e6cf0800219816b018baf50b7133baa73bc68 (diff)
downloadhdf5-a00ad64f468e8ea4d19c17675258694a06febe32.zip
hdf5-a00ad64f468e8ea4d19c17675258694a06febe32.tar.gz
hdf5-a00ad64f468e8ea4d19c17675258694a06febe32.tar.bz2
[svn-r25825] Bring revisions #25509 - #25762 from trunk to revise_chunks.
h5committested.
Diffstat (limited to 'src')
-rw-r--r--src/H5Adeprec.c2
-rw-r--r--src/H5C.c2
-rw-r--r--src/H5Dchunk.c7
-rw-r--r--src/H5Dmpio.c8
-rw-r--r--src/H5FDcore.c13
-rw-r--r--src/H5FDdirect.c10
-rw-r--r--src/H5FDfamily.c10
-rw-r--r--src/H5FDlog.c13
-rw-r--r--src/H5FDmpio.c41
-rw-r--r--src/H5FDmulti.c2
-rw-r--r--src/H5FDsec2.c13
-rw-r--r--src/H5P.c4
-rw-r--r--src/H5PLextern.h40
-rw-r--r--src/H5PLprivate.h14
-rw-r--r--src/H5S.c2
-rw-r--r--src/H5Smpio.c60
-rw-r--r--src/H5public.h4
-rw-r--r--src/Makefile.in4
18 files changed, 124 insertions, 125 deletions
diff --git a/src/H5Adeprec.c b/src/H5Adeprec.c
index 124ce7c..ccc7659 100644
--- a/src/H5Adeprec.c
+++ b/src/H5Adeprec.c
@@ -186,7 +186,7 @@ H5Acreate1(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id,
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a data space")
/* Go do the real work for attaching the attribute to the dataset */
- if((attr = H5A_create(&loc, name, type, space, plist_id, H5AC_dxpl_id)) < 0)
+ if(NULL==(attr = H5A_create(&loc, name, type, space, plist_id, H5AC_dxpl_id)))
HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "unable to create attribute")
/* Register the new attribute and get an ID for it */
diff --git a/src/H5C.c b/src/H5C.c
index 212952d..23c9051 100644
--- a/src/H5C.c
+++ b/src/H5C.c
@@ -9729,7 +9729,7 @@ H5C_tag_entry(H5C_t * cache_ptr, H5C_cache_entry_t * entry_ptr, hid_t dxpl_id)
{
H5P_genplist_t *dxpl; /* dataset transfer property list */
H5C_tag_t tag; /* Tag structure */
- hid_t ret_value = SUCCEED; /* Return value */
+ herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_NOAPI(FAIL)
diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c
index bb4f30f..2557d1a 100644
--- a/src/H5Dchunk.c
+++ b/src/H5Dchunk.c
@@ -4317,9 +4317,10 @@ H5D__chunk_collective_fill(const H5D_t *dset, hid_t dxpl_id,
blocks++;
}
- /* MSC - should use this if MPI_type_create_hindexed block is working */
- //mpi_code = MPI_Type_create_hindexed_block(blocks, block_len, chunk_disp_array,
- //MPI_BYTE, &file_type);
+ /* MSC
+ * should use this if MPI_type_create_hindexed block is working
+ * mpi_code = MPI_Type_create_hindexed_block(blocks, block_len, chunk_disp_array, MPI_BYTE, &file_type);
+ */
mpi_code = MPI_Type_create_hindexed(blocks, block_lens, chunk_disp_array,
MPI_BYTE, &file_type);
if(mpi_code != MPI_SUCCESS)
diff --git a/src/H5Dmpio.c b/src/H5Dmpio.c
index a5e8903..88c6075 100644
--- a/src/H5Dmpio.c
+++ b/src/H5Dmpio.c
@@ -994,15 +994,15 @@ if(H5DEBUG(D))
} /* end for */
/* Create final MPI derived datatype for the file */
- if(MPI_SUCCESS != (mpi_code = MPI_Type_struct((int)num_chunk, chunk_mpi_file_counts, chunk_disp_array, chunk_ftype, &chunk_final_ftype)))
- HMPI_GOTO_ERROR(FAIL, "MPI_Type_struct failed", mpi_code)
+ if(MPI_SUCCESS != (mpi_code = MPI_Type_create_struct((int)num_chunk, chunk_mpi_file_counts, chunk_disp_array, chunk_ftype, &chunk_final_ftype)))
+ HMPI_GOTO_ERROR(FAIL, "MPI_Type_create_struct failed", mpi_code)
if(MPI_SUCCESS != (mpi_code = MPI_Type_commit(&chunk_final_ftype)))
HMPI_GOTO_ERROR(FAIL, "MPI_Type_commit failed", mpi_code)
chunk_final_ftype_is_derived = TRUE;
/* Create final MPI derived datatype for memory */
- if(MPI_SUCCESS != (mpi_code = MPI_Type_struct((int)num_chunk, chunk_mpi_mem_counts, chunk_mem_disp_array, chunk_mtype, &chunk_final_mtype)))
- HMPI_GOTO_ERROR(FAIL, "MPI_Type_struct failed", mpi_code)
+ if(MPI_SUCCESS != (mpi_code = MPI_Type_create_struct((int)num_chunk, chunk_mpi_mem_counts, chunk_mem_disp_array, chunk_mtype, &chunk_final_mtype)))
+ HMPI_GOTO_ERROR(FAIL, "MPI_Type_create_struct failed", mpi_code)
if(MPI_SUCCESS != (mpi_code = MPI_Type_commit(&chunk_final_mtype)))
HMPI_GOTO_ERROR(FAIL, "MPI_Type_commit failed", mpi_code)
chunk_final_mtype_is_derived = TRUE;
diff --git a/src/H5FDcore.c b/src/H5FDcore.c
index 2f44d8c..d604a8a 100644
--- a/src/H5FDcore.c
+++ b/src/H5FDcore.c
@@ -436,17 +436,22 @@ done:
*
* Purpose: Initializes any interface-specific data or routines.
*
- * Return: Success: The driver ID for the core driver.
- * Failure: Negative.
+ * Return: Non-negative on success/Negative on failure
*
*-------------------------------------------------------------------------
*/
static herr_t
H5FD_core_init_interface(void)
{
- FUNC_ENTER_NOAPI_NOINIT_NOERR
+ herr_t ret_value = SUCCEED;
- FUNC_LEAVE_NOAPI(H5FD_core_init())
+ FUNC_ENTER_NOAPI_NOINIT
+
+ if(H5FD_core_init() < 0)
+ HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "unable to initialize core VFD")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FD_core_init_interface() */
diff --git a/src/H5FDdirect.c b/src/H5FDdirect.c
index 3aa1c4f..19f9bda 100644
--- a/src/H5FDdirect.c
+++ b/src/H5FDdirect.c
@@ -203,9 +203,15 @@ DESCRIPTION
static herr_t
H5FD_direct_init_interface(void)
{
- FUNC_ENTER_NOAPI_NOINIT_NOERR
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_NOAPI_NOINIT
- FUNC_LEAVE_NOAPI(H5FD_direct_init())
+ if(H5FD_direct_init() < 0)
+ HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "unable to initialize direct VFD")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FD_direct_init_interface() */
diff --git a/src/H5FDfamily.c b/src/H5FDfamily.c
index 75c75ad..1728d13 100644
--- a/src/H5FDfamily.c
+++ b/src/H5FDfamily.c
@@ -161,9 +161,15 @@ DESCRIPTION
static herr_t
H5FD_family_init_interface(void)
{
- FUNC_ENTER_NOAPI_NOINIT_NOERR
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_NOAPI_NOINIT
- FUNC_LEAVE_NOAPI(H5FD_family_init())
+ if(H5FD_family_init() < 0)
+ HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "unable to initialize family VFD")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FD_family_init_interface() */
diff --git a/src/H5FDlog.c b/src/H5FDlog.c
index f23ec46..ca6cada 100644
--- a/src/H5FDlog.c
+++ b/src/H5FDlog.c
@@ -235,17 +235,22 @@ H5FL_DEFINE_STATIC(H5FD_log_t);
*
* Purpose: Initializes any interface-specific data or routines.
*
- * Return: Success: The driver ID for the log driver.
- * Failure: Negative.
+ * Return: Non-negative on success/Negative on failure
*
*-------------------------------------------------------------------------
*/
static herr_t
H5FD_log_init_interface(void)
{
- FUNC_ENTER_NOAPI_NOINIT_NOERR
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_NOAPI_NOINIT
+
+ if(H5FD_log_init() < 0)
+ HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "unable to initialize log VFD")
- FUNC_LEAVE_NOAPI(H5FD_log_init())
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FD_log_init_interface() */
diff --git a/src/H5FDmpio.c b/src/H5FDmpio.c
index 8162ccd..73237b7 100644
--- a/src/H5FDmpio.c
+++ b/src/H5FDmpio.c
@@ -180,9 +180,15 @@ DESCRIPTION
static herr_t
H5FD_mpio_init_interface(void)
{
- FUNC_ENTER_NOAPI_NOINIT_NOERR
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_NOAPI_NOINIT
+
+ if(H5FD_mpio_init() < 0)
+ HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "unable to initialize mpio VFD")
- FUNC_LEAVE_NOAPI(H5FD_mpio_init())
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FD_mpio_init_interface() */
@@ -1448,10 +1454,10 @@ H5FD_mpio_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id, haddr_t add
int mpi_code; /* mpi return code */
MPI_Datatype buf_type = MPI_BYTE; /* MPI description of the selection in memory */
int size_i; /* Integer copy of 'size' to read */
- int bytes_read; /* Number of bytes read in */
+ MPI_Count bytes_read; /* Number of bytes read in */
int n;
- int type_size; /* MPI datatype used for I/O's size */
- int io_size; /* Actual number of bytes requested */
+ MPI_Count type_size; /* MPI datatype used for I/O's size */
+ MPI_Count io_size; /* Actual number of bytes requested */
H5P_genplist_t *plist = NULL; /* Property list pointer */
hbool_t use_view_this_time = FALSE;
herr_t ret_value = SUCCEED;
@@ -1568,16 +1574,11 @@ H5FD_mpio_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id, haddr_t add
}
/* How many bytes were actually read? */
- /* [This works because the "basic elements" we use for all our MPI derived
- * types are MPI_BYTE. We should be using the 'buf_type' for the MPI
- * datatype in this call though... (We aren't because using it causes
- * the LANL "qsc" machine to dump core - 12/19/03) - QAK]
- */
- if (MPI_SUCCESS != (mpi_code=MPI_Get_elements(&mpi_stat, MPI_BYTE, &bytes_read)))
+ if (MPI_SUCCESS != (mpi_code=MPI_Get_elements_x(&mpi_stat, buf_type, &bytes_read)))
HMPI_GOTO_ERROR(FAIL, "MPI_Get_elements failed", mpi_code)
/* Get the type's size */
- if (MPI_SUCCESS != (mpi_code=MPI_Type_size(buf_type,&type_size)))
+ if (MPI_SUCCESS != (mpi_code=MPI_Type_size_x(buf_type,&type_size)))
HMPI_GOTO_ERROR(FAIL, "MPI_Type_size failed", mpi_code)
/* Compute the actual number of bytes requested */
@@ -1733,9 +1734,10 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr,
MPI_Status mpi_stat; /* Status from I/O operation */
MPI_Datatype buf_type = MPI_BYTE; /* MPI description of the selection in memory */
int mpi_code; /* MPI return code */
- int size_i, bytes_written;
- int type_size; /* MPI datatype used for I/O's size */
- int io_size; /* Actual number of bytes requested */
+ MPI_Count bytes_written;
+ int size_i;
+ MPI_Count type_size; /* MPI datatype used for I/O's size */
+ MPI_Count io_size; /* Actual number of bytes requested */
hbool_t use_view_this_time = FALSE;
H5P_genplist_t *plist = NULL; /* Property list pointer */
herr_t ret_value = SUCCEED;
@@ -1862,16 +1864,11 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr,
}
/* How many bytes were actually written? */
- /* [This works because the "basic elements" we use for all our MPI derived
- * types are MPI_BYTE. We should be using the 'buf_type' for the MPI
- * datatype in this call though... (We aren't because using it causes
- * the LANL "qsc" machine to dump core - 12/19/03) - QAK]
- */
- if(MPI_SUCCESS != (mpi_code = MPI_Get_elements(&mpi_stat, MPI_BYTE, &bytes_written)))
+ if(MPI_SUCCESS != (mpi_code = MPI_Get_elements_x(&mpi_stat, buf_type, &bytes_written)))
HMPI_GOTO_ERROR(FAIL, "MPI_Get_elements failed", mpi_code)
/* Get the type's size */
- if(MPI_SUCCESS != (mpi_code = MPI_Type_size(buf_type, &type_size)))
+ if(MPI_SUCCESS != (mpi_code = MPI_Type_size_x(buf_type, &type_size)))
HMPI_GOTO_ERROR(FAIL, "MPI_Type_size failed", mpi_code)
/* Compute the actual number of bytes requested */
diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c
index 0a899a9..38097c8 100644
--- a/src/H5FDmulti.c
+++ b/src/H5FDmulti.c
@@ -491,7 +491,7 @@ H5Pset_fapl_multi(hid_t fapl_id, const H5FD_mem_t *memb_map,
}
if (!memb_addr) {
for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1))
- _memb_addr[mt] = (hsize_t)(mt ? (mt - 1) : 0) * HADDR_MAX / H5FD_MEM_NTYPES;
+ _memb_addr[mt] = (hsize_t)(mt ? (mt - 1) : 0) * (HADDR_MAX / (H5FD_MEM_NTYPES-1));
memb_addr = _memb_addr;
}
diff --git a/src/H5FDsec2.c b/src/H5FDsec2.c
index 86ef6c6..d7c3c81 100644
--- a/src/H5FDsec2.c
+++ b/src/H5FDsec2.c
@@ -193,17 +193,22 @@ H5FL_DEFINE_STATIC(H5FD_sec2_t);
*
* Purpose: Initializes any interface-specific data or routines.
*
- * Return: Success: The driver ID for the sec2 driver.
- * Failure: Negative
+ * Return: Non-negative on success/Negative on failure
*
*-------------------------------------------------------------------------
*/
static herr_t
H5FD_sec2_init_interface(void)
{
- FUNC_ENTER_NOAPI_NOINIT_NOERR
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_NOAPI_NOINIT
+
+ if(H5FD_sec2_init() < 0)
+ HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "unable to initialize sec2 VFD")
- FUNC_LEAVE_NOAPI(H5FD_sec2_init())
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FD_sec2_init_interface() */
diff --git a/src/H5P.c b/src/H5P.c
index e561385..113203d 100644
--- a/src/H5P.c
+++ b/src/H5P.c
@@ -886,7 +886,7 @@ herr_t
H5Pencode(hid_t plist_id, void *buf, size_t *nalloc)
{
H5P_genplist_t *plist; /* Property list to query */
- hid_t ret_value = SUCCEED; /* return value */
+ herr_t ret_value = SUCCEED; /* return value */
FUNC_ENTER_API(FAIL)
H5TRACE3("e", "i*x*z", plist_id, buf, nalloc);
@@ -1684,7 +1684,7 @@ done:
herr_t
H5Pclose_class(hid_t cls_id)
{
- hid_t ret_value = SUCCEED; /* Return value */
+ herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_API(FAIL)
H5TRACE1("e", "i", cls_id);
diff --git a/src/H5PLextern.h b/src/H5PLextern.h
index 943e3aa..8ad19e7 100644
--- a/src/H5PLextern.h
+++ b/src/H5PLextern.h
@@ -34,40 +34,14 @@ typedef enum H5PL_type_t {
} H5PL_type_t;
-#ifdef H5_BUILT_AS_DYNAMIC_LIB
-
- #if defined (hdf5_EXPORTS)
- /* hdf5 library imports from plugin */
- #if defined (_MSC_VER) /* MSVC Compiler Case */
- #define H5PLUGIN_DLL __declspec(dllimport)
- #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
- #define H5PLUGIN_DLL __attribute__ ((visibility("default")))
- #endif
- #else
- /* plugins always export */
- #if defined (_MSC_VER) /* MSVC Compiler Case */
- #define H5PLUGIN_DLL __declspec(dllexport)
- #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
- #define H5PLUGIN_DLL __attribute__ ((visibility("default")))
- #endif
- #endif
-
-#elif defined(H5_BUILT_AS_STATIC_LIB)
- #define H5PLUGIN_DLL
+/* plugins always export */
+#if defined (_MSC_VER) /* MSVC Compiler Case */
+ #define H5PLUGIN_DLL __declspec(dllexport)
+#elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
+ #define H5PLUGIN_DLL __attribute__ ((visibility("default")))
#else
-
- #if defined(H5_HAVE_WIN32_API)
- #if defined(_HDF5DLL_)
- #pragma warning(disable: 4273) /* Disable the dll linkage warnings */
- #define H5PLUGIN_DLL __declspec(dllimport)
- #elif defined(_HDF5USEDLL_)
- #define H5PLUGIN_DLL __declspec(dllexport)
- #endif /* _HDF5DLL_ */
- #else /*H5_HAVE_WIN32_API*/
- #define H5PLUGIN_DLL
- #endif /*H5_HAVE_WIN32_API*/
-
-#endif /* H5_BUILT_AS_xxx_LIB */
+ #define H5PLUGIN_DLL
+#endif
#ifdef __cplusplus
extern "C" {
diff --git a/src/H5PLprivate.h b/src/H5PLprivate.h
index b117613..587a51b 100644
--- a/src/H5PLprivate.h
+++ b/src/H5PLprivate.h
@@ -19,8 +19,18 @@
#ifndef _H5PLprivate_H
#define _H5PLprivate_H
-/* Include package's "external" header */
-#include "H5PLextern.h"
+/* Keep the following in sync with the package's "external" header */
+
+/*******************/
+/* Public Typedefs */
+/*******************/
+
+/* Plugin type */
+typedef enum H5PL_type_t {
+ H5PL_TYPE_ERROR = -1, /*error */
+ H5PL_TYPE_FILTER = 0, /*filter */
+ H5PL_TYPE_NONE = 1 /*this must be last! */
+} H5PL_type_t;
/* Private headers needed by this file */
#include "H5private.h" /* Generic Functions */
diff --git a/src/H5S.c b/src/H5S.c
index 381081a..1146ab4 100644
--- a/src/H5S.c
+++ b/src/H5S.c
@@ -467,7 +467,7 @@ H5Sextent_copy(hid_t dst_id,hid_t src_id)
{
H5S_t *src;
H5S_t *dst;
- hid_t ret_value = SUCCEED;
+ herr_t ret_value = SUCCEED;
FUNC_ENTER_API(FAIL)
H5TRACE2("e", "ii", dst_id, src_id);
diff --git a/src/H5Smpio.c b/src/H5Smpio.c
index 1644bd3..9a1b5a6 100644
--- a/src/H5Smpio.c
+++ b/src/H5Smpio.c
@@ -500,9 +500,9 @@ H5S_mpio_hyper_type(const H5S_t *space, size_t elmt_size,
hsize_t max_xtent[H5S_MAX_RANK];
H5S_hyper_dim_t *diminfo; /* [rank] */
unsigned rank;
- int block_length[3];
- MPI_Datatype inner_type, outer_type, old_types[3];
- MPI_Aint extent_len, displacement[3];
+ MPI_Datatype inner_type, outer_type;
+ MPI_Aint extent_len, start_disp, new_extent;
+ MPI_Aint lb; /* Needed as an argument for MPI_Type_get_extent */
unsigned u; /* Local index variable */
int i; /* Local index variable */
int mpi_code; /* MPI return code */
@@ -669,42 +669,30 @@ H5S_mpio_hyper_type(const H5S_t *space, size_t elmt_size,
* Then build the dimension type as (start, vector type, xtent).
****************************************/
/* calculate start and extent values of this dimension */
- displacement[1] = d[i].start * offset[i] * elmt_size;
- displacement[2] = (MPI_Aint)elmt_size * max_xtent[i];
- if(MPI_SUCCESS != (mpi_code = MPI_Type_extent(outer_type, &extent_len)))
- HMPI_GOTO_ERROR(FAIL, "MPI_Type_extent failed", mpi_code)
+ start_disp = d[i].start * offset[i] * elmt_size;
+ new_extent = (MPI_Aint)elmt_size * max_xtent[i];
+ if(MPI_SUCCESS != (mpi_code = MPI_Type_get_extent(outer_type, &lb, &extent_len)))
+ HMPI_GOTO_ERROR(FAIL, "MPI_Type_get_extent failed", mpi_code)
/*************************************************
* Restructure this datatype ("outer_type")
* so that it still starts at 0, but its extent
* is the full extent in this dimension.
*************************************************/
- if(displacement[1] > 0 || (int)extent_len < displacement[2]) {
+ if(start_disp > 0 || extent_len < new_extent) {
+ MPI_Datatype interm_type;
+ int block_len = 1;
- block_length[0] = 1;
- block_length[1] = 1;
- block_length[2] = 1;
-
- displacement[0] = 0;
-
- old_types[0] = MPI_LB;
- old_types[1] = outer_type;
- old_types[2] = MPI_UB;
-#ifdef H5S_DEBUG
- if(H5DEBUG(S))
- HDfprintf(H5DEBUG(S), "%s: i=%d Extending struct type\n"
- "***displacements: %ld, %ld, %ld\n",
- FUNC, i, (long)displacement[0], (long)displacement[1], (long)displacement[2]);
-#endif
-
- mpi_code = MPI_Type_struct(3, /* count */
- block_length, /* blocklengths */
- displacement, /* displacements */
- old_types, /* old types */
- &inner_type); /* new type */
+ HDassert(0 == lb);
+ mpi_code = MPI_Type_create_hindexed(1, &block_len, &start_disp, outer_type, &interm_type);
MPI_Type_free(&outer_type);
- if(mpi_code != MPI_SUCCESS)
+ if(mpi_code != MPI_SUCCESS)
+ HMPI_GOTO_ERROR(FAIL, "MPI_Type_create_hindexed failed", mpi_code)
+
+ mpi_code = MPI_Type_create_resized(interm_type, lb, new_extent, &inner_type);
+ MPI_Type_free(&interm_type);
+ if(mpi_code != MPI_SUCCESS)
HMPI_GOTO_ERROR(FAIL, "couldn't resize MPI vector type", mpi_code)
} /* end if */
else
@@ -884,8 +872,8 @@ H5S_obtain_datatype(const hsize_t *down, H5S_hyper_span_t *span,
outercount++;
} /* end while */
- if(MPI_SUCCESS != (mpi_code = MPI_Type_hindexed((int)outercount, blocklen, disp, *elmt_type, span_type)))
- HMPI_GOTO_ERROR(FAIL, "MPI_Type_hindexed failed", mpi_code)
+ if(MPI_SUCCESS != (mpi_code = MPI_Type_create_hindexed((int)outercount, blocklen, disp, *elmt_type, span_type)))
+ HMPI_GOTO_ERROR(FAIL, "MPI_Type_create_hindexed failed", mpi_code)
span_type_valid = TRUE;
} /* end if */
else {
@@ -935,9 +923,9 @@ H5S_obtain_datatype(const hsize_t *down, H5S_hyper_span_t *span,
/* Build the MPI datatype for this node */
stride = (*down) * elmt_size;
H5_CHECK_OVERFLOW(tspan->nelem, hsize_t, int)
- if(MPI_SUCCESS != (mpi_code = MPI_Type_hvector((int)tspan->nelem, 1, stride, down_type, &inner_type[outercount]))) {
+ if(MPI_SUCCESS != (mpi_code = MPI_Type_create_hvector((int)tspan->nelem, 1, stride, down_type, &inner_type[outercount]))) {
MPI_Type_free(&down_type);
- HMPI_GOTO_ERROR(FAIL, "MPI_Type_hvector failed", mpi_code)
+ HMPI_GOTO_ERROR(FAIL, "MPI_Type_create_hvector failed", mpi_code)
} /* end if */
/* Release MPI datatype for next dimension down */
@@ -950,8 +938,8 @@ H5S_obtain_datatype(const hsize_t *down, H5S_hyper_span_t *span,
/* building the whole vector datatype */
H5_CHECK_OVERFLOW(outercount, size_t, int)
- if(MPI_SUCCESS != (mpi_code = MPI_Type_struct((int)outercount, blocklen, disp, inner_type, span_type)))
- HMPI_GOTO_ERROR(FAIL, "MPI_Type_struct failed", mpi_code)
+ if(MPI_SUCCESS != (mpi_code = MPI_Type_create_struct((int)outercount, blocklen, disp, inner_type, span_type)))
+ HMPI_GOTO_ERROR(FAIL, "MPI_Type_create_struct failed", mpi_code)
span_type_valid = TRUE;
/* Release inner node types */
diff --git a/src/H5public.h b/src/H5public.h
index b2afca8..b3582f4 100644
--- a/src/H5public.h
+++ b/src/H5public.h
@@ -94,10 +94,10 @@ extern "C" {
/* Version numbers */
#define H5_VERS_MAJOR 1 /* For major interface/format changes */
#define H5_VERS_MINOR 9 /* For minor interface/format changes */
-#define H5_VERS_RELEASE 192 /* For tweaks, bug-fixes, or development */
+#define H5_VERS_RELEASE 203 /* For tweaks, bug-fixes, or development */
#define H5_VERS_SUBRELEASE "swmr0" /* For pre-releases like snap0 */
/* Empty string for real releases. */
-#define H5_VERS_INFO "HDF5 library version: 1.9.192-swmr0" /* Full version string */
+#define H5_VERS_INFO "HDF5 library version: 1.9.203-swmr0" /* Full version string */
#define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \
H5_VERS_RELEASE)
diff --git a/src/Makefile.in b/src/Makefile.in
index b2319b7..bfcb103 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -733,8 +733,10 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
+# After making changes, run bin/reconfigure to update other configure related
+# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 182
+LT_VERS_REVISION = 193
LT_VERS_AGE = 0
# Our main target, the HDF5 library