diff --git a/.github/workflows/analysis.yml b/.github/workflows/analysis.yml index d3a04488d0b..28a77a53207 100644 --- a/.github/workflows/analysis.yml +++ b/.github/workflows/analysis.yml @@ -109,7 +109,6 @@ jobs: set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PLUGIN_SUPPORT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLIBAEC_USE_LOCALCONTENT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_USE_LOCALCONTENT:BOOL=OFF") - set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DPLUGIN_USE_LOCALCONTENT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACK_EXAMPLES:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON") @@ -214,7 +213,6 @@ jobs: set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PLUGIN_SUPPORT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLIBAEC_USE_LOCALCONTENT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_USE_LOCALCONTENT:BOOL=OFF") - set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DPLUGIN_USE_LOCALCONTENT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_C_COMPILER:STRING=clang") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_CXX_COMPILER:STRING=clang++") @@ -318,7 +316,6 @@ jobs: set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PLUGIN_SUPPORT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLIBAEC_USE_LOCALCONTENT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_USE_LOCALCONTENT:BOOL=OFF") - set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DPLUGIN_USE_LOCALCONTENT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_C_COMPILER:STRING=clang") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_CXX_COMPILER:STRING=clang++") @@ -423,7 +420,6 @@ jobs: set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PLUGIN_SUPPORT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLIBAEC_USE_LOCALCONTENT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_USE_LOCALCONTENT:BOOL=OFF") - set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DPLUGIN_USE_LOCALCONTENT:BOOL=OFF") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_C_COMPILER:STRING=clang") set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_CXX_COMPILER:STRING=clang++") diff --git a/src/H5Eint.c b/src/H5Eint.c index 491684613b6..cd7646fc2d2 100644 --- a/src/H5Eint.c +++ b/src/H5Eint.c @@ -152,14 +152,12 @@ static const H5E_stack_t H5E_err_stack_def = { /* H5E_auto_op_t */ #ifndef H5_NO_DEPRECATED_SYMBOLS #ifdef H5_USE_16_API_DEFAULT - {1, true, (H5E_auto1_t)H5Eprint1, (H5E_auto2_t)H5E__print2, (H5E_auto1_t)H5Eprint1, - (H5E_auto2_t)H5E__print2}, + {1, true, (H5E_auto1_t)H5Eprint1, H5E__print2, (H5E_auto1_t)H5Eprint1, H5E__print2}, #else /* H5_USE_16_API */ - {2, true, (H5E_auto1_t)H5Eprint1, (H5E_auto2_t)H5E__print2, (H5E_auto1_t)H5Eprint1, - (H5E_auto2_t)H5E__print2}, + {2, true, (H5E_auto1_t)H5Eprint1, H5E__print2, (H5E_auto1_t)H5Eprint1, H5E__print2}, #endif /* H5_USE_16_API_DEFAULT */ #else /* H5_NO_DEPRECATED_SYMBOLS */ - {(H5E_auto2_t)H5E__print2}, + {H5E__print2}, #endif /* H5_NO_DEPRECATED_SYMBOLS */ NULL, /* auto_data */ @@ -855,9 +853,10 @@ H5E__get_num(const H5E_stack_t *estack) *------------------------------------------------------------------------- */ herr_t -H5E__print2(hid_t err_stack, FILE *stream) +H5E__print2(hid_t err_stack, void *_stream) { - H5E_stack_t *estack; /* Error stack to operate on */ + H5E_stack_t *estack; /* Error stack to operate on */ + FILE *stream = (FILE *)_stream; herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE diff --git a/src/H5Epkg.h b/src/H5Epkg.h index 666f42e7d9f..849b292e02a 100644 --- a/src/H5Epkg.h +++ b/src/H5Epkg.h @@ -146,7 +146,7 @@ H5_DLL herr_t H5E__push_stack(H5E_stack_t *estack, bool app_entry, const c unsigned line, hid_t cls_id, hid_t maj_id, hid_t min_id, const char *fmt, va_list *ap); H5_DLL herr_t H5E__print(const H5E_stack_t *estack, FILE *stream, bool bk_compat); -H5_DLL herr_t H5E__print2(hid_t err_stack, FILE *stream); +H5_DLL herr_t H5E__print2(hid_t err_stack, void *_stream); H5_DLL herr_t H5E__walk(const H5E_stack_t *estack, H5E_direction_t direction, const H5E_walk_op_t *op, void *client_data); H5_DLL herr_t H5E__get_auto(const H5E_stack_t *estack, H5E_auto_op_t *op, void **client_data); diff --git a/src/H5Ztrans.c b/src/H5Ztrans.c index b8afda077ba..932492a3a18 100644 --- a/src/H5Ztrans.c +++ b/src/H5Ztrans.c @@ -106,21 +106,27 @@ static void H5Z__xform_reduce_tree(H5Z_node *tree); size_t u; \ \ if (((RESL).type == H5Z_XFORM_SYMBOL) && ((RESR).type != H5Z_XFORM_SYMBOL)) { \ - TYPE *p; \ - double tree_val; \ + uint8_t *p; \ + double tree_val; \ \ tree_val = \ ((RESR).type == H5Z_XFORM_INTEGER ? (double)(RESR).value.int_val : (RESR).value.float_val); \ - p = (TYPE *)(RESL).value.dat_val; \ \ + p = (uint8_t *)(RESL).value.dat_val; \ for (u = 0; u < (SIZE); u++) { \ - *p = (TYPE)((double)*p OP tree_val); \ - p++; \ + TYPE data; \ + TYPE result; \ + \ + H5MM_memcpy(&data, p, sizeof(TYPE)); \ + result = (TYPE)((double)data OP tree_val); \ + H5MM_memcpy(p, &result, sizeof(TYPE)); \ + \ + p += sizeof(TYPE); \ } \ } \ else if (((RESR).type == H5Z_XFORM_SYMBOL) && ((RESL).type != H5Z_XFORM_SYMBOL)) { \ - TYPE *p; \ - double tree_val; \ + uint8_t *p; \ + double tree_val; \ \ /* The case that the left operand is nothing, like -x or +x */ \ if ((RESL).type == H5Z_XFORM_ERROR) \ @@ -129,20 +135,33 @@ static void H5Z__xform_reduce_tree(H5Z_node *tree); tree_val = ((RESL).type == H5Z_XFORM_INTEGER ? (double)(RESL).value.int_val \ : (RESL).value.float_val); \ \ - p = (TYPE *)(RESR).value.dat_val; \ + p = (uint8_t *)(RESR).value.dat_val; \ for (u = 0; u < (SIZE); u++) { \ - *p = (TYPE)(tree_val OP(double) * p); \ - p++; \ + TYPE data; \ + TYPE result; \ + \ + H5MM_memcpy(&data, p, sizeof(TYPE)); \ + result = (TYPE)(tree_val OP(double) data); \ + H5MM_memcpy(p, &result, sizeof(TYPE)); \ + \ + p += sizeof(TYPE); \ } \ } \ else if (((RESL).type == H5Z_XFORM_SYMBOL) && ((RESR).type == H5Z_XFORM_SYMBOL)) { \ - TYPE *pl = (TYPE *)(RESL).value.dat_val; \ - TYPE *pr = (TYPE *)(RESR).value.dat_val; \ + uint8_t *pl = (uint8_t *)(RESL).value.dat_val; \ + uint8_t *pr = (uint8_t *)(RESR).value.dat_val; \ \ for (u = 0; u < (SIZE); u++) { \ - *pl = (TYPE)(*pl OP * pr); \ - pl++; \ - pr++; \ + TYPE datal; \ + TYPE datar; \ + \ + H5MM_memcpy(&datal, pl, sizeof(TYPE)); \ + H5MM_memcpy(&datar, pr, sizeof(TYPE)); \ + datal = (TYPE)(datal OP datar); \ + H5MM_memcpy(pl, &datal, sizeof(TYPE)); \ + \ + pl += sizeof(TYPE); \ + pr += sizeof(TYPE); \ } \ } \ else \ diff --git a/test/dsets.c b/test/dsets.c index a1c91000372..d73967e2a64 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -811,6 +811,8 @@ test_scalar_io(hid_t fapl) TEST_ERROR; space = -1; + PASSED(); + return SUCCEED; error: @@ -14357,7 +14359,7 @@ typedef struct scatter_info_t { } static herr_t -scatter_cb(void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/, void *_scatter_info) +scatter_cb(const void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/, void *_scatter_info) { scatter_info_t *scatter_info = (scatter_info_t *)_scatter_info; size_t nelmts; /* Number of elements to return in src_buf */ @@ -14367,7 +14369,7 @@ scatter_cb(void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/, void *_sc assert(nelmts > 0); /* Set output variables */ - *src_buf = (void *)scatter_info->src_buf; + *src_buf = scatter_info->src_buf; *src_buf_bytes_used = nelmts * sizeof(scatter_info->src_buf[0]); /* Update scatter_info */ @@ -14432,7 +14434,7 @@ test_scatter(void) scatter_info.size = 8; /* Scatter data */ - if (H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) + if (H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) TEST_ERROR; /* Verify data */ @@ -14471,7 +14473,7 @@ test_scatter(void) scatter_info.size = 12; /* Scatter data */ - if (H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) + if (H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) TEST_ERROR; /* Verify data */ @@ -14525,7 +14527,7 @@ test_scatter(void) scatter_info.size = 36; /* Scatter data */ - if (H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) + if (H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) TEST_ERROR; /* Verify data */ @@ -14580,7 +14582,7 @@ test_scatter(void) scatter_info.size = 16; /* Scatter data */ - if (H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) + if (H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) TEST_ERROR; /* Verify data */ @@ -14612,7 +14614,7 @@ test_scatter(void) scatter_info.size = 4; /* Scatter data */ - if (H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) + if (H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) TEST_ERROR; /* Verify data */ @@ -15012,7 +15014,7 @@ error: *------------------------------------------------------------------------- */ static herr_t -scatter_error_cb_fail(void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/, void *_scatter_info) +scatter_error_cb_fail(const void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/, void *_scatter_info) { scatter_info_t *scatter_info = (scatter_info_t *)_scatter_info; size_t nelmts; /* Number of elements to return in src_buf */ @@ -15022,14 +15024,14 @@ scatter_error_cb_fail(void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/ assert(nelmts > 0); /* Set output variables */ - *src_buf = (void *)scatter_info->src_buf; + *src_buf = scatter_info->src_buf; *src_buf_bytes_used = nelmts * sizeof(scatter_info->src_buf[0]); return FAIL; } /* end scatter_error_cb_fail() */ static herr_t -scatter_error_cb_null(void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/, void *_scatter_info) +scatter_error_cb_null(const void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/, void *_scatter_info) { scatter_info_t *scatter_info = (scatter_info_t *)_scatter_info; size_t nelmts; /* Number of elements to return in src_buf */ @@ -15046,7 +15048,7 @@ scatter_error_cb_null(void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/ } /* end scatter_error_cb_null() */ static herr_t -scatter_error_cb_unalign(void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/, +scatter_error_cb_unalign(const void **src_buf /*out*/, size_t *src_buf_bytes_used /*out*/, void *_src_buf_bytes_used) { /* Set output variables */ @@ -15088,7 +15090,7 @@ test_scatter_error(void) scatter_info.src_buf = src_buf; scatter_info.block = sizeof(src_buf) / sizeof(src_buf[0]); scatter_info.size = 6; - if (H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) + if (H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0) TEST_ERROR; /* @@ -15108,7 +15110,7 @@ test_scatter_error(void) scatter_info.size = 6; H5E_BEGIN_TRY { - ret = H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, sid, sid, dst_buf); + ret = H5Dscatter(scatter_cb, &scatter_info, sid, sid, dst_buf); } H5E_END_TRY if (ret >= 0) @@ -15118,8 +15120,7 @@ test_scatter_error(void) scatter_info.size = 6; H5E_BEGIN_TRY { - ret = H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, H5T_NATIVE_INT, - dst_buf); + ret = H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, H5T_NATIVE_INT, dst_buf); } H5E_END_TRY if (ret >= 0) @@ -15129,7 +15130,7 @@ test_scatter_error(void) scatter_info.size = 6; H5E_BEGIN_TRY { - ret = H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, NULL); + ret = H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, NULL); } H5E_END_TRY if (ret >= 0) @@ -15142,7 +15143,7 @@ test_scatter_error(void) scatter_info.size = 7; H5E_BEGIN_TRY { - ret = H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf); + ret = H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf); } H5E_END_TRY if (ret >= 0) @@ -15155,8 +15156,7 @@ test_scatter_error(void) scatter_info.size = 6; H5E_BEGIN_TRY { - ret = H5Dscatter((H5D_scatter_func_t)scatter_error_cb_fail, &scatter_info, H5T_NATIVE_INT, sid, - dst_buf); + ret = H5Dscatter(scatter_error_cb_fail, &scatter_info, H5T_NATIVE_INT, sid, dst_buf); } H5E_END_TRY if (ret >= 0) @@ -15169,8 +15169,7 @@ test_scatter_error(void) scatter_info.size = 6; H5E_BEGIN_TRY { - ret = H5Dscatter((H5D_scatter_func_t)scatter_error_cb_null, &scatter_info, H5T_NATIVE_INT, sid, - dst_buf); + ret = H5Dscatter(scatter_error_cb_null, &scatter_info, H5T_NATIVE_INT, sid, dst_buf); } H5E_END_TRY if (ret >= 0) @@ -15182,8 +15181,7 @@ test_scatter_error(void) cb_unalign_nbytes = 0; H5E_BEGIN_TRY { - ret = H5Dscatter((H5D_scatter_func_t)scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, - sid, dst_buf); + ret = H5Dscatter(scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, sid, dst_buf); } H5E_END_TRY if (ret >= 0) @@ -15196,8 +15194,7 @@ test_scatter_error(void) cb_unalign_nbytes = sizeof(src_buf[0]) - 1; H5E_BEGIN_TRY { - ret = H5Dscatter((H5D_scatter_func_t)scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, - sid, dst_buf); + ret = H5Dscatter(scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, sid, dst_buf); } H5E_END_TRY if (ret >= 0) @@ -15206,8 +15203,7 @@ test_scatter_error(void) cb_unalign_nbytes = sizeof(src_buf[0]) + 1; H5E_BEGIN_TRY { - ret = H5Dscatter((H5D_scatter_func_t)scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, - sid, dst_buf); + ret = H5Dscatter(scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, sid, dst_buf); } H5E_END_TRY if (ret >= 0) diff --git a/test/dt_arith.c b/test/dt_arith.c index 535e3e939ac..5ee073b0977 100644 --- a/test/dt_arith.c +++ b/test/dt_arith.c @@ -157,11 +157,11 @@ static int without_hardware_g = 0; } \ \ if (n < SRC_PREC - 2) { \ - value1 = (TYPE)(value1 << 1); \ + value1 = (TYPE)((uint64_t)value1 << 1); \ value2 = (TYPE)((value1 - 1) | value1); \ } \ else if (n == SRC_PREC - 2) { /*to avoid overflow of negative values for signed integer*/ \ - value1 = (TYPE)(value1 << 1); \ + value1 = (TYPE)((uint64_t)value1 << 1); \ value2 = (TYPE)((~value1) | value1); \ } \ } \ @@ -176,7 +176,7 @@ static int without_hardware_g = 0; saved_p += SRC_SIZE; \ } \ if (n < SRC_PREC - 1) \ - value2 = (TYPE)(value2 << 1); \ + value2 = (TYPE)((uint64_t)value2 << 1); \ } \ } while (0) diff --git a/test/dtransform.c b/test/dtransform.c index 2a28732f883..6c860881297 100644 --- a/test/dtransform.c +++ b/test/dtransform.c @@ -54,7 +54,7 @@ const float windchillFfloat[ROWS][COLS] = { {25.0F, 18.0F, 11.0F, 4.0F, -3.0F, -11.0F, -18.0F, -25.0F, -32.0F, -39.0F, -46.0F, -54.0F, -61.0F, -68.0F, -75.0F, -82.0F, -89.0F, -97.0F}, {25.0F, 17.0F, 10.0F, 3.0F, -4.0F, -11.0F, -19.0F, -26.0F, -33.0F, -40.0F, -48.0F, -55.0F, -62.0F, -69.0F, - -76.0F, -84.0F, -91.0F, -98.0F}}; + -76.0F, -84.0F, -91.0F, -97.0F}}; const int transformData[ROWS][COLS] = {{36, 31, 25, 19, 13, 7, 1, 5, 11, 16, 22, 28, 34, 40, 46, 52, 57, 63}, {34, 27, 21, 15, 9, 3, 4, 10, 16, 22, 28, 35, 41, 47, 53, 59, 66, 1}, diff --git a/test/hyperslab.c b/test/hyperslab.c index 3a84f9758bc..64d448827b8 100644 --- a/test/hyperslab.c +++ b/test/hyperslab.c @@ -737,12 +737,12 @@ error: static herr_t test_transpose(size_t nx, size_t ny) { - int *src = NULL; - int *dst = NULL; - hsize_t src_stride[2], dst_stride[2]; - hsize_t size[2]; - char s[256]; - hsize_t i, j; + hssize_t src_stride[2], dst_stride[2]; + int *src = NULL; + int *dst = NULL; + hsize_t size[2]; + char s[256]; + hsize_t i, j; snprintf(s, sizeof(s), "Testing 2d transpose by stride %4lux%-lud", (unsigned long)nx, (unsigned long)ny); printf("%-70s", s); @@ -762,12 +762,12 @@ test_transpose(size_t nx, size_t ny) size[0] = nx; size[1] = ny; src_stride[0] = 0; - src_stride[1] = sizeof(*src); - dst_stride[0] = (hsize_t)((1 - nx * ny) * sizeof(*src)); - dst_stride[1] = (hsize_t)(nx * sizeof(*src)); + src_stride[1] = (hssize_t)sizeof(*src); + dst_stride[0] = (hssize_t)((1 - nx * ny) * sizeof(*src)); + dst_stride[1] = (hssize_t)(nx * sizeof(*src)); /* Copy and transpose */ - H5VM_stride_copy(2, (hsize_t)sizeof(*src), size, dst_stride, dst, src_stride, src); + H5VM_stride_copy_s(2, (hsize_t)sizeof(*src), size, dst_stride, dst, src_stride, src); /* Check */ for (i = 0; i < nx; i++) { @@ -830,12 +830,14 @@ error: static herr_t test_sub_super(size_t nx, size_t ny) { - uint8_t *full = NULL; /*original image */ - uint8_t *half = NULL; /*image at 1/2 resolution */ - uint8_t *twice = NULL; /*2x2 pixels */ - hsize_t src_stride[4]; /*source stride info */ - hsize_t dst_stride[4]; /*destination stride info */ - hsize_t size[4]; /*number of sample points */ + hssize_t src_stride_s[4]; /*signed source stride info */ + hssize_t dst_stride_s[4]; /*signed destination stride info */ + uint8_t *full = NULL; /*original image */ + uint8_t *half = NULL; /*image at 1/2 resolution */ + uint8_t *twice = NULL; /*2x2 pixels */ + hsize_t src_stride[4]; /*source stride info */ + hsize_t dst_stride[4]; /*destination stride info */ + hsize_t size[4]; /*number of sample points */ hsize_t i, j; char s[256]; @@ -895,21 +897,21 @@ test_sub_super(size_t nx, size_t ny) fflush(stdout); /* Setup stride */ - size[0] = nx; - size[1] = ny; - size[2] = 2; - size[3] = 2; - src_stride[0] = 0; - src_stride[1] = 1; - src_stride[2] = 0; - src_stride[3] = 0; - dst_stride[0] = (hsize_t)(2 * ny); - dst_stride[1] = (hsize_t)(2 * sizeof(uint8_t) - 4 * ny); - dst_stride[2] = (hsize_t)(2 * ny - 2 * sizeof(uint8_t)); - dst_stride[3] = sizeof(uint8_t); + size[0] = nx; + size[1] = ny; + size[2] = 2; + size[3] = 2; + src_stride_s[0] = 0; + src_stride_s[1] = 1; + src_stride_s[2] = 0; + src_stride_s[3] = 0; + dst_stride_s[0] = (hssize_t)(2 * ny); + dst_stride_s[1] = (hssize_t)(2 * sizeof(uint8_t) - 4 * ny); + dst_stride_s[2] = (hssize_t)(2 * ny - 2 * sizeof(uint8_t)); + dst_stride_s[3] = (hssize_t)sizeof(uint8_t); /* Copy */ - H5VM_stride_copy(4, (hsize_t)sizeof(uint8_t), size, dst_stride, twice, src_stride, half); + H5VM_stride_copy_s(4, (hsize_t)sizeof(uint8_t), size, dst_stride_s, twice, src_stride_s, half); /* Check */ s[0] = '\0'; @@ -1071,8 +1073,13 @@ test_array_offset_n_calc(size_t n, size_t x, size_t y, size_t z) off = H5VM_array_offset(ARRAY_OFFSET_NDIMS, dims, coords); /* Check offset of coordinate */ - if (a[off] != off) + if (a[off] != off) { + fprintf(stderr, + "incorrect offset for coordinate (%" PRIuHSIZE ", %" PRIuHSIZE ", %" PRIuHSIZE ")." + " expected %" PRIuHSIZE ", got %" PRIuHSIZE "\n", + coords[0], coords[1], coords[2], off, a[off]); TEST_ERROR; + } /* Get coordinates of offset */ if (H5VM_array_calc(off, ARRAY_OFFSET_NDIMS, dims, new_coords) < 0)