summaryrefslogtreecommitdiffstats
path: root/tools/test/h5dump/h5dumpgentest.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/test/h5dump/h5dumpgentest.c')
-rw-r--r--tools/test/h5dump/h5dumpgentest.c475
1 files changed, 360 insertions, 115 deletions
diff --git a/tools/test/h5dump/h5dumpgentest.c b/tools/test/h5dump/h5dumpgentest.c
index 54b390f..b992a88 100644
--- a/tools/test/h5dump/h5dumpgentest.c
+++ b/tools/test/h5dump/h5dumpgentest.c
@@ -22,7 +22,7 @@
*/
#include "hdf5.h"
-#include "H5private.h"
+#include "h5test.h"
#include "h5tools.h"
#define FILE1 "tgroup.h5"
@@ -7209,19 +7209,43 @@ gent_dataset_idx(void)
static void
gent_packedbits(void)
{
- hid_t fid, dataset, space;
+ hid_t fid = H5I_INVALID_HID;
+ hid_t dataset = H5I_INVALID_HID;
+ hid_t space = H5I_INVALID_HID;
hsize_t dims[2];
- uint8_t dsetu8[F66_XDIM][F66_YDIM8], valu8bits;
- uint16_t dsetu16[F66_XDIM][F66_YDIM16], valu16bits;
- uint32_t dsetu32[F66_XDIM][F66_YDIM32], valu32bits;
- uint64_t dsetu64[F66_XDIM][F66_YDIM64], valu64bits;
- int8_t dset8[F66_XDIM][F66_YDIM8], val8bits;
- int16_t dset16[F66_XDIM][F66_YDIM16], val16bits;
- int32_t dset32[F66_XDIM][F66_YDIM32], val32bits;
- int64_t dset64[F66_XDIM][F66_YDIM64], val64bits;
- double dsetdbl[F66_XDIM][F66_YDIM8];
+
+ uint8_t **dsetu8 = NULL;
+ uint16_t **dsetu16 = NULL;
+ uint32_t **dsetu32 = NULL;
+ uint64_t **dsetu64 = NULL;
+ int8_t **dset8 = NULL;
+ int16_t **dset16 = NULL;
+ int32_t **dset32 = NULL;
+ int64_t **dset64 = NULL;
+ double **dsetdbl = NULL;
+
+ uint8_t valu8bits;
+ uint16_t valu16bits;
+ uint32_t valu32bits;
+ uint64_t valu64bits;
+ int8_t val8bits;
+ int16_t val16bits;
+ int32_t val32bits;
+ int64_t val64bits;
+
unsigned int i, j;
+ /* Create arrays */
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F66_XDIM, F66_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F66_XDIM, F66_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F66_XDIM, F66_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F66_XDIM, F66_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F66_XDIM, F66_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F66_XDIM, F66_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F66_XDIM, F66_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F66_XDIM, F66_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F66_XDIM, F66_YDIM8);
+
fid = H5Fcreate(FILE66, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/* Dataset of 8 bits unsigned int */
@@ -7237,7 +7261,7 @@ gent_packedbits(void)
valu8bits = (uint8_t)(valu8bits << 1);
}
- H5Dwrite(dataset, H5T_NATIVE_UINT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8);
+ H5Dwrite(dataset, H5T_NATIVE_UINT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -7254,7 +7278,7 @@ gent_packedbits(void)
valu16bits = (uint16_t)(valu16bits << 1);
}
- H5Dwrite(dataset, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16);
+ H5Dwrite(dataset, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -7271,7 +7295,7 @@ gent_packedbits(void)
valu32bits <<= 1;
}
- H5Dwrite(dataset, H5T_NATIVE_UINT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32);
+ H5Dwrite(dataset, H5T_NATIVE_UINT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -7288,7 +7312,7 @@ gent_packedbits(void)
valu64bits <<= 1;
}
- H5Dwrite(dataset, H5T_NATIVE_UINT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64);
+ H5Dwrite(dataset, H5T_NATIVE_UINT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -7305,7 +7329,7 @@ gent_packedbits(void)
val8bits = (int8_t)(val8bits << 1);
}
- H5Dwrite(dataset, H5T_NATIVE_INT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8);
+ H5Dwrite(dataset, H5T_NATIVE_INT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -7322,7 +7346,7 @@ gent_packedbits(void)
val16bits = (int16_t)(val16bits << 1);
}
- H5Dwrite(dataset, H5T_NATIVE_INT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16);
+ H5Dwrite(dataset, H5T_NATIVE_INT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -7339,7 +7363,7 @@ gent_packedbits(void)
val32bits <<= 1;
}
- H5Dwrite(dataset, H5T_NATIVE_INT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32);
+ H5Dwrite(dataset, H5T_NATIVE_INT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -7356,7 +7380,7 @@ gent_packedbits(void)
val64bits <<= 1;
}
- H5Dwrite(dataset, H5T_NATIVE_INT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64);
+ H5Dwrite(dataset, H5T_NATIVE_INT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -7369,11 +7393,21 @@ gent_packedbits(void)
for(j = 0; j < dims[1]; j++)
dsetdbl[i][j] = 0.0001F * (float)j + (float)i;
- H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl);
+ H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl[0]);
H5Sclose(space);
H5Dclose(dataset);
H5Fclose(fid);
+
+ HDfree(dsetu8);
+ HDfree(dsetu16);
+ HDfree(dsetu32);
+ HDfree(dsetu64);
+ HDfree(dset8);
+ HDfree(dset16);
+ HDfree(dset32);
+ HDfree(dset64);
+ HDfree(dsetdbl);
}
/*-------------------------------------------------------------------------
@@ -7390,19 +7424,44 @@ gent_packedbits(void)
static void
gent_attr_intsize(void)
{
- hid_t fid, attr, space, root;
+ hid_t fid = H5I_INVALID_HID;
+ hid_t attr = H5I_INVALID_HID;
+ hid_t space = H5I_INVALID_HID;
+ hid_t root = H5I_INVALID_HID;
hsize_t dims[2];
- uint8_t dsetu8[F66_XDIM][F66_YDIM8], valu8bits;
- uint16_t dsetu16[F66_XDIM][F66_YDIM16], valu16bits;
- uint32_t dsetu32[F66_XDIM][F66_YDIM32], valu32bits;
- uint64_t dsetu64[F66_XDIM][F66_YDIM64], valu64bits;
- int8_t dset8[F66_XDIM][F66_YDIM8], val8bits;
- int16_t dset16[F66_XDIM][F66_YDIM16], val16bits;
- int32_t dset32[F66_XDIM][F66_YDIM32], val32bits;
- int64_t dset64[F66_XDIM][F66_YDIM64], val64bits;
- double dsetdbl[F66_XDIM][F66_YDIM8];
+
+ uint8_t **dsetu8 = NULL;
+ uint16_t **dsetu16 = NULL;
+ uint32_t **dsetu32 = NULL;
+ uint64_t **dsetu64 = NULL;
+ int8_t **dset8 = NULL;
+ int16_t **dset16 = NULL;
+ int32_t **dset32 = NULL;
+ int64_t **dset64 = NULL;
+ double **dsetdbl = NULL;
+
+ uint8_t valu8bits;
+ uint16_t valu16bits;
+ uint32_t valu32bits;
+ uint64_t valu64bits;
+ int8_t val8bits;
+ int16_t val16bits;
+ int32_t val32bits;
+ int64_t val64bits;
+
unsigned int i, j;
+ /* Create arrays */
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F66_XDIM, F66_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F66_XDIM, F66_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F66_XDIM, F66_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F66_XDIM, F66_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F66_XDIM, F66_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F66_XDIM, F66_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F66_XDIM, F66_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F66_XDIM, F66_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F66_XDIM, F66_YDIM8);
+
fid = H5Fcreate(FILE69, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
root = H5Gopen2(fid, "/", H5P_DEFAULT);
@@ -7420,7 +7479,7 @@ gent_attr_intsize(void)
valu8bits = (uint8_t)(valu8bits << 1);
}
- H5Awrite(attr, H5T_NATIVE_UINT8, dsetu8);
+ H5Awrite(attr, H5T_NATIVE_UINT8, dsetu8[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -7438,7 +7497,7 @@ gent_attr_intsize(void)
valu16bits = (uint16_t)(valu16bits << 1);
}
- H5Awrite(attr, H5T_NATIVE_UINT16, dsetu16);
+ H5Awrite(attr, H5T_NATIVE_UINT16, dsetu16[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -7456,7 +7515,7 @@ gent_attr_intsize(void)
valu32bits <<= 1;
}
- H5Awrite(attr, H5T_NATIVE_UINT32, dsetu32);
+ H5Awrite(attr, H5T_NATIVE_UINT32, dsetu32[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -7474,7 +7533,7 @@ gent_attr_intsize(void)
valu64bits <<= 1;
}
- H5Awrite(attr, H5T_NATIVE_UINT64, dsetu64);
+ H5Awrite(attr, H5T_NATIVE_UINT64, dsetu64[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -7492,7 +7551,7 @@ gent_attr_intsize(void)
val8bits = (int8_t)(val8bits << 1);
}
- H5Awrite(attr, H5T_NATIVE_INT8, dset8);
+ H5Awrite(attr, H5T_NATIVE_INT8, dset8[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -7510,7 +7569,7 @@ gent_attr_intsize(void)
val16bits = (int16_t)(val16bits << 1);
}
- H5Awrite(attr, H5T_NATIVE_INT16, dset16);
+ H5Awrite(attr, H5T_NATIVE_INT16, dset16[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -7528,7 +7587,7 @@ gent_attr_intsize(void)
val32bits <<= 1;
}
- H5Awrite(attr, H5T_NATIVE_INT32, dset32);
+ H5Awrite(attr, H5T_NATIVE_INT32, dset32[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -7546,7 +7605,7 @@ gent_attr_intsize(void)
val64bits <<= 1;
}
- H5Awrite(attr, H5T_NATIVE_INT64, dset64);
+ H5Awrite(attr, H5T_NATIVE_INT64, dset64[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -7559,13 +7618,23 @@ gent_attr_intsize(void)
for(j = 0; j < dims[1]; j++)
dsetdbl[i][j] = 0.0001F * (float)j + (float)i;
- H5Awrite(attr, H5T_NATIVE_DOUBLE, dsetdbl);
+ H5Awrite(attr, H5T_NATIVE_DOUBLE, dsetdbl[0]);
H5Sclose(space);
H5Aclose(attr);
H5Gclose(root);
H5Fclose(fid);
+
+ HDfree(dsetu8);
+ HDfree(dsetu16);
+ HDfree(dsetu32);
+ HDfree(dsetu64);
+ HDfree(dset8);
+ HDfree(dset16);
+ HDfree(dset32);
+ HDfree(dset64);
+ HDfree(dsetdbl);
}
static void
@@ -8407,19 +8476,44 @@ static void gent_nested_compound_dt(void) { /* test nested data type */
static void
gent_intscalars(void)
{
- hid_t fid, dataset, space, tid;
+ hid_t fid = H5I_INVALID_HID;
+ hid_t dataset = H5I_INVALID_HID;
+ hid_t space = H5I_INVALID_HID;
+ hid_t tid = H5I_INVALID_HID;
hsize_t dims[2];
- uint8_t dsetu8[F73_XDIM][F73_YDIM8], valu8bits;
- uint16_t dsetu16[F73_XDIM][F73_YDIM16], valu16bits;
- uint32_t dsetu32[F73_XDIM][F73_YDIM32], valu32bits;
- uint64_t dsetu64[F73_XDIM][F73_YDIM64], valu64bits;
- int8_t dset8[F73_XDIM][F73_YDIM8], val8bits;
- int16_t dset16[F73_XDIM][F73_YDIM16], val16bits;
- int32_t dset32[F73_XDIM][F73_YDIM32], val32bits;
- int64_t dset64[F73_XDIM][F73_YDIM64], val64bits;
- double dsetdbl[F73_XDIM][F73_YDIM8];
+
+ uint8_t **dsetu8 = NULL;
+ uint16_t **dsetu16 = NULL;
+ uint32_t **dsetu32 = NULL;
+ uint64_t **dsetu64 = NULL;
+ int8_t **dset8 = NULL;
+ int16_t **dset16 = NULL;
+ int32_t **dset32 = NULL;
+ int64_t **dset64 = NULL;
+ double **dsetdbl = NULL;
+
+ uint8_t valu8bits;
+ uint16_t valu16bits;
+ uint32_t valu32bits;
+ uint64_t valu64bits;
+ int8_t val8bits;
+ int16_t val16bits;
+ int32_t val32bits;
+ int64_t val64bits;
+
unsigned int i, j;
+ /* Create arrays */
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F73_XDIM, F73_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F73_XDIM, F73_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F73_XDIM, F73_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F73_XDIM, F73_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F73_XDIM, F73_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F73_XDIM, F73_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F73_XDIM, F73_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F73_XDIM, F73_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F73_XDIM, F73_YDIM8);
+
fid = H5Fcreate(FILE73, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/* Dataset of 8 bits unsigned int */
@@ -8437,7 +8531,7 @@ gent_intscalars(void)
valu8bits = (uint8_t)(valu8bits << 1);
}
- H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8);
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -8456,7 +8550,7 @@ gent_intscalars(void)
valu16bits = (uint16_t)(valu16bits << 1);
}
- H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16);
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -8475,7 +8569,7 @@ gent_intscalars(void)
valu32bits <<= 1;
}
- H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32);
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -8494,7 +8588,7 @@ gent_intscalars(void)
valu64bits <<= 1;
}
- H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64);
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -8513,7 +8607,7 @@ gent_intscalars(void)
val8bits = (int8_t)(val8bits << 1);
}
- H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8);
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -8532,7 +8626,7 @@ gent_intscalars(void)
val16bits = (int16_t)(val16bits << 1);
}
- H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16);
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -8551,7 +8645,7 @@ gent_intscalars(void)
val32bits <<= 1;
}
- H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32);
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -8570,7 +8664,7 @@ gent_intscalars(void)
val64bits <<= 1;
}
- H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64);
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64[0]);
H5Sclose(space);
H5Dclose(dataset);
@@ -8584,11 +8678,21 @@ gent_intscalars(void)
for(j = 0; j < dims[1]; j++)
dsetdbl[i][j] = 0.0001F * (float)j + (float)i;
- H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl);
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl[0]);
H5Sclose(space);
H5Dclose(dataset);
H5Fclose(fid);
+
+ HDfree(dsetu8);
+ HDfree(dsetu16);
+ HDfree(dsetu32);
+ HDfree(dsetu64);
+ HDfree(dset8);
+ HDfree(dset16);
+ HDfree(dset32);
+ HDfree(dset64);
+ HDfree(dsetdbl);
}
/*-------------------------------------------------------------------------
@@ -8605,19 +8709,46 @@ gent_intscalars(void)
static void
gent_attr_intscalars(void)
{
- hid_t fid, attr, space, root, tid;
+ hid_t fid = H5I_INVALID_HID;
+ hid_t attr = H5I_INVALID_HID;
+ hid_t space = H5I_INVALID_HID;
+ hid_t root = H5I_INVALID_HID;
+ hid_t tid = H5I_INVALID_HID;
hsize_t dims[2];
- uint8_t dsetu8[F73_XDIM][F73_YDIM8], valu8bits;
- uint16_t dsetu16[F73_XDIM][F73_YDIM16], valu16bits;
- uint32_t dsetu32[F73_XDIM][F73_YDIM32], valu32bits;
- uint64_t dsetu64[F73_XDIM][F73_YDIM64], valu64bits;
- int8_t dset8[F73_XDIM][F73_YDIM8], val8bits;
- int16_t dset16[F73_XDIM][F73_YDIM16], val16bits;
- int32_t dset32[F73_XDIM][F73_YDIM32], val32bits;
- int64_t dset64[F73_XDIM][F73_YDIM64], val64bits;
- double dsetdbl[F73_XDIM][F73_YDIM8];
+
+
+ uint8_t **dsetu8 = NULL;
+ uint16_t **dsetu16 = NULL;
+ uint32_t **dsetu32 = NULL;
+ uint64_t **dsetu64 = NULL;
+ int8_t **dset8 = NULL;
+ int16_t **dset16 = NULL;
+ int32_t **dset32 = NULL;
+ int64_t **dset64 = NULL;
+ double **dsetdbl = NULL;
+
+ uint8_t valu8bits;
+ uint16_t valu16bits;
+ uint32_t valu32bits;
+ uint64_t valu64bits;
+ int8_t val8bits;
+ int16_t val16bits;
+ int32_t val32bits;
+ int64_t val64bits;
+
unsigned int i, j;
+ /* Create arrays */
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F73_XDIM, F73_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F73_XDIM, F73_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F73_XDIM, F73_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F73_XDIM, F73_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F73_XDIM, F73_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F73_XDIM, F73_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F73_XDIM, F73_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F73_XDIM, F73_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F73_XDIM, F73_YDIM8);
+
fid = H5Fcreate(FILE74, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
root = H5Gopen2(fid, "/", H5P_DEFAULT);
@@ -8636,7 +8767,7 @@ gent_attr_intscalars(void)
valu8bits = (uint8_t)(valu8bits << 1);
}
- H5Awrite(attr, tid, dsetu8);
+ H5Awrite(attr, tid, dsetu8[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -8655,7 +8786,7 @@ gent_attr_intscalars(void)
valu16bits = (uint16_t)(valu16bits << 1);
}
- H5Awrite(attr, tid, dsetu16);
+ H5Awrite(attr, tid, dsetu16[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -8674,7 +8805,7 @@ gent_attr_intscalars(void)
valu32bits <<= 1;
}
- H5Awrite(attr, tid, dsetu32);
+ H5Awrite(attr, tid, dsetu32[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -8693,7 +8824,7 @@ gent_attr_intscalars(void)
valu64bits <<= 1;
}
- H5Awrite(attr, tid, dsetu64);
+ H5Awrite(attr, tid, dsetu64[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -8712,7 +8843,7 @@ gent_attr_intscalars(void)
val8bits = (int8_t)(val8bits << 1);
}
- H5Awrite(attr, tid, dset8);
+ H5Awrite(attr, tid, dset8[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -8731,7 +8862,7 @@ gent_attr_intscalars(void)
val16bits = (int16_t)(val16bits << 1);
}
- H5Awrite(attr, tid, dset16);
+ H5Awrite(attr, tid, dset16[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -8750,7 +8881,7 @@ gent_attr_intscalars(void)
val32bits <<= 1;
}
- H5Awrite(attr, tid, dset32);
+ H5Awrite(attr, tid, dset32[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -8769,7 +8900,7 @@ gent_attr_intscalars(void)
val64bits <<= 1;
}
- H5Awrite(attr, tid, dset64);
+ H5Awrite(attr, tid, dset64[0]);
H5Sclose(space);
H5Aclose(attr);
@@ -8783,13 +8914,23 @@ gent_attr_intscalars(void)
for(j = 0; j < dims[1]; j++)
dsetdbl[i][j] = 0.0001F * (float)j + (float)i;
- H5Awrite(attr, tid, dsetdbl);
+ H5Awrite(attr, tid, dsetdbl[0]);
H5Sclose(space);
H5Aclose(attr);
H5Gclose(root);
H5Fclose(fid);
+
+ HDfree(dsetu8);
+ HDfree(dsetu16);
+ HDfree(dsetu32);
+ HDfree(dsetu64);
+ HDfree(dset8);
+ HDfree(dset16);
+ HDfree(dset32);
+ HDfree(dset64);
+ HDfree(dsetdbl);
}
/*-------------------------------------------------------------------------
@@ -9344,19 +9485,45 @@ static void gent_compound_ints(void) {
static void
gent_intattrscalars(void)
{
- hid_t fid, attr, dataset, space, tid;
+ hid_t fid = H5I_INVALID_HID;
+ hid_t attr = H5I_INVALID_HID;
+ hid_t dataset = H5I_INVALID_HID;
+ hid_t space = H5I_INVALID_HID;
+ hid_t tid = H5I_INVALID_HID;
hsize_t dims[2];
- uint8_t dsetu8[F73_XDIM][F73_YDIM8], valu8bits;
- uint16_t dsetu16[F73_XDIM][F73_YDIM16], valu16bits;
- uint32_t dsetu32[F73_XDIM][F73_YDIM32], valu32bits;
- uint64_t dsetu64[F73_XDIM][F73_YDIM64], valu64bits;
- int8_t dset8[F73_XDIM][F73_YDIM8], val8bits;
- int16_t dset16[F73_XDIM][F73_YDIM16], val16bits;
- int32_t dset32[F73_XDIM][F73_YDIM32], val32bits;
- int64_t dset64[F73_XDIM][F73_YDIM64], val64bits;
- double dsetdbl[F73_XDIM][F73_YDIM8];
+
+ uint8_t **dsetu8 = NULL;
+ uint16_t **dsetu16 = NULL;
+ uint32_t **dsetu32 = NULL;
+ uint64_t **dsetu64 = NULL;
+ int8_t **dset8 = NULL;
+ int16_t **dset16 = NULL;
+ int32_t **dset32 = NULL;
+ int64_t **dset64 = NULL;
+ double **dsetdbl = NULL;
+
+ uint8_t valu8bits;
+ uint16_t valu16bits;
+ uint32_t valu32bits;
+ uint64_t valu64bits;
+ int8_t val8bits;
+ int16_t val16bits;
+ int32_t val32bits;
+ int64_t val64bits;
+
unsigned int i, j;
+ /* Create arrays */
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F73_XDIM, F73_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F73_XDIM, F73_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F73_XDIM, F73_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F73_XDIM, F73_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F73_XDIM, F73_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F73_XDIM, F73_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F73_XDIM, F73_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F73_XDIM, F73_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F73_XDIM, F73_YDIM8);
+
fid = H5Fcreate(FILE78, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/* Dataset of 8 bits unsigned int */
@@ -9377,7 +9544,7 @@ gent_intattrscalars(void)
H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8);
/* Attribute of 8 bits unsigned int */
attr = H5Acreate2(dataset, F73_DATASETU08, tid, space, H5P_DEFAULT, H5P_DEFAULT);
- H5Awrite(attr, tid, dsetu8);
+ H5Awrite(attr, tid, dsetu8[0]);
H5Aclose(attr);
H5Sclose(space);
H5Dclose(dataset);
@@ -9400,7 +9567,7 @@ gent_intattrscalars(void)
H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16);
/* Attribute of 16 bits unsigned int */
attr = H5Acreate2(dataset, F73_DATASETU16, tid, space, H5P_DEFAULT, H5P_DEFAULT);
- H5Awrite(attr, tid, dsetu16);
+ H5Awrite(attr, tid, dsetu16[0]);
H5Aclose(attr);
H5Sclose(space);
H5Dclose(dataset);
@@ -9423,7 +9590,7 @@ gent_intattrscalars(void)
H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32);
/* Attribute of 32 bits unsigned int */
attr = H5Acreate2(dataset, F73_DATASETU32, tid, space, H5P_DEFAULT, H5P_DEFAULT);
- H5Awrite(attr, tid, dsetu32);
+ H5Awrite(attr, tid, dsetu32[0]);
H5Aclose(attr);
H5Sclose(space);
H5Dclose(dataset);
@@ -9446,7 +9613,7 @@ gent_intattrscalars(void)
H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64);
/* Attribute of 64 bits unsigned int */
attr = H5Acreate2(dataset, F73_DATASETU64, tid, space, H5P_DEFAULT, H5P_DEFAULT);
- H5Awrite(attr, tid, dsetu64);
+ H5Awrite(attr, tid, dsetu64[0]);
H5Aclose(attr);
H5Sclose(space);
H5Dclose(dataset);
@@ -9469,7 +9636,7 @@ gent_intattrscalars(void)
H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8);
/* Attribute of 8 bits signed int */
attr = H5Acreate2(dataset, F73_DATASETS08, tid, space, H5P_DEFAULT, H5P_DEFAULT);
- H5Awrite(attr, tid, dset8);
+ H5Awrite(attr, tid, dset8[0]);
H5Aclose(attr);
H5Sclose(space);
H5Dclose(dataset);
@@ -9492,7 +9659,7 @@ gent_intattrscalars(void)
H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16);
/* Attribute of 16 bits signed int */
attr = H5Acreate2(dataset, F73_DATASETS16, tid, space, H5P_DEFAULT, H5P_DEFAULT);
- H5Awrite(attr, tid, dset16);
+ H5Awrite(attr, tid, dset16[0]);
H5Aclose(attr);
H5Sclose(space);
H5Dclose(dataset);
@@ -9515,7 +9682,7 @@ gent_intattrscalars(void)
H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32);
/* Attribute of 32 bits signed int */
attr = H5Acreate2(dataset, F73_DATASETS32, tid, space, H5P_DEFAULT, H5P_DEFAULT);
- H5Awrite(attr, tid, dset32);
+ H5Awrite(attr, tid, dset32[0]);
H5Aclose(attr);
H5Sclose(space);
H5Dclose(dataset);
@@ -9538,7 +9705,7 @@ gent_intattrscalars(void)
H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64);
/* Attribute of 64 bits signed int */
attr = H5Acreate2(dataset, F73_DATASETS64, tid, space, H5P_DEFAULT, H5P_DEFAULT);
- H5Awrite(attr, tid, dset64);
+ H5Awrite(attr, tid, dset64[0]);
H5Aclose(attr);
H5Sclose(space);
H5Dclose(dataset);
@@ -9556,11 +9723,22 @@ gent_intattrscalars(void)
H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl);
/* Attribute of double */
attr = H5Acreate2(dataset, F73_DUMMYDBL, tid, space, H5P_DEFAULT, H5P_DEFAULT);
- H5Awrite(attr, tid, dsetdbl);
+ H5Awrite(attr, tid, dsetdbl[0]);
+
H5Aclose(attr);
H5Sclose(space);
H5Dclose(dataset);
H5Fclose(fid);
+
+ HDfree(dsetu8);
+ HDfree(dsetu16);
+ HDfree(dsetu32);
+ HDfree(dsetu64);
+ HDfree(dset8);
+ HDfree(dset16);
+ HDfree(dset32);
+ HDfree(dset64);
+ HDfree(dsetdbl);
}
/*-------------------------------------------------------------------------
@@ -9576,19 +9754,66 @@ gent_intattrscalars(void)
static void
gent_intsattrs(void)
{
- hid_t fid, attr, dataset, space, aspace;
+ hid_t fid = H5I_INVALID_HID;
+ hid_t attr = H5I_INVALID_HID;
+ hid_t dataset = H5I_INVALID_HID;
+ hid_t space = H5I_INVALID_HID;
+ hid_t aspace = H5I_INVALID_HID;
hsize_t dims[2], adims[1];
- uint8_t dsetu8[F66_XDIM][F66_YDIM8], asetu8[F66_XDIM*F66_YDIM8], valu8bits;
- uint16_t dsetu16[F66_XDIM][F66_YDIM16], asetu16[F66_XDIM*F66_YDIM16], valu16bits;
- uint32_t dsetu32[F66_XDIM][F66_YDIM32], asetu32[F66_XDIM*F66_YDIM32], valu32bits;
- uint64_t dsetu64[F66_XDIM][F66_YDIM64], asetu64[F66_XDIM*F66_YDIM64], valu64bits;
- int8_t dset8[F66_XDIM][F66_YDIM8], aset8[F66_XDIM*F66_YDIM8], val8bits;
- int16_t dset16[F66_XDIM][F66_YDIM16], aset16[F66_XDIM*F66_YDIM16], val16bits;
- int32_t dset32[F66_XDIM][F66_YDIM32], aset32[F66_XDIM*F66_YDIM32], val32bits;
- int64_t dset64[F66_XDIM][F66_YDIM64], aset64[F66_XDIM*F66_YDIM64], val64bits;
- double dsetdbl[F66_XDIM][F66_YDIM8], asetdbl[F66_XDIM*F66_YDIM8];
+
+
+ uint8_t **dsetu8 = NULL;
+ uint16_t **dsetu16 = NULL;
+ uint32_t **dsetu32 = NULL;
+ uint64_t **dsetu64 = NULL;
+ int8_t **dset8 = NULL;
+ int16_t **dset16 = NULL;
+ int32_t **dset32 = NULL;
+ int64_t **dset64 = NULL;
+ double **dsetdbl = NULL;
+
+ uint8_t *asetu8 = NULL;
+ uint16_t *asetu16 = NULL;
+ uint32_t *asetu32 = NULL;
+ uint64_t *asetu64 = NULL;
+ int8_t *aset8 = NULL;
+ int16_t *aset16 = NULL;
+ int32_t *aset32 = NULL;
+ int64_t *aset64 = NULL;
+ double *asetdbl = NULL;
+
+ uint8_t valu8bits;
+ uint16_t valu16bits;
+ uint32_t valu32bits;
+ uint64_t valu64bits;
+ int8_t val8bits;
+ int16_t val16bits;
+ int32_t val32bits;
+ int64_t val64bits;
+
unsigned int i, j;
+ /* Create arrays */
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F66_XDIM, F66_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F66_XDIM, F66_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F66_XDIM, F66_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F66_XDIM, F66_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F66_XDIM, F66_YDIM8);
+ H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F66_XDIM, F66_YDIM16);
+ H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F66_XDIM, F66_YDIM32);
+ H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F66_XDIM, F66_YDIM64);
+ H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F66_XDIM, F66_YDIM8);
+
+ asetu8 = HDcalloc(F66_XDIM * F66_YDIM8, sizeof(uint8_t));
+ asetu16 = HDcalloc(F66_XDIM * F66_YDIM16, sizeof(uint16_t));
+ asetu32 = HDcalloc(F66_XDIM * F66_YDIM32, sizeof(uint32_t));
+ asetu64 = HDcalloc(F66_XDIM * F66_YDIM64, sizeof(uint64_t));
+ aset8 = HDcalloc(F66_XDIM * F66_YDIM8, sizeof(int8_t));
+ aset16 = HDcalloc(F66_XDIM * F66_YDIM16, sizeof(int16_t));
+ aset32 = HDcalloc(F66_XDIM * F66_YDIM32, sizeof(int32_t));
+ aset64 = HDcalloc(F66_XDIM * F66_YDIM64, sizeof(int64_t));
+ asetdbl = HDcalloc(F66_XDIM * F66_YDIM8, sizeof(double));
+
fid = H5Fcreate(FILE79, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/* Dataset of 8 bits unsigned int */
@@ -9607,7 +9832,7 @@ gent_intsattrs(void)
valu8bits = (uint8_t)(valu8bits << 1);
}
- H5Dwrite(dataset, H5T_NATIVE_UINT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8);
+ H5Dwrite(dataset, H5T_NATIVE_UINT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8[0]);
/* Attribute of 8 bits unsigned int */
adims[0] = F66_XDIM * F66_YDIM8;
aspace = H5Screate_simple(1, adims, NULL);
@@ -9634,7 +9859,7 @@ gent_intsattrs(void)
valu16bits = (uint16_t)(valu16bits << 1);
}
- H5Dwrite(dataset, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16);
+ H5Dwrite(dataset, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16[0]);
/* Attribute of 16 bits unsigned int */
adims[0] = F66_XDIM * F66_YDIM16;
aspace = H5Screate_simple(1, adims, NULL);
@@ -9661,7 +9886,7 @@ gent_intsattrs(void)
valu32bits <<= 1;
}
- H5Dwrite(dataset, H5T_NATIVE_UINT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32);
+ H5Dwrite(dataset, H5T_NATIVE_UINT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32[0]);
/* Attribute of 32 bits unsigned int */
adims[0] = F66_XDIM * F66_YDIM32;
aspace = H5Screate_simple(1, adims, NULL);
@@ -9688,7 +9913,7 @@ gent_intsattrs(void)
valu64bits <<= 1;
}
- H5Dwrite(dataset, H5T_NATIVE_UINT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64);
+ H5Dwrite(dataset, H5T_NATIVE_UINT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64[0]);
/* Attribute of 64 bits unsigned int */
adims[0] = F66_XDIM * F66_YDIM64;
aspace = H5Screate_simple(1, adims, NULL);
@@ -9715,7 +9940,7 @@ gent_intsattrs(void)
val8bits = (int8_t)(val8bits << 1);
}
- H5Dwrite(dataset, H5T_NATIVE_INT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8);
+ H5Dwrite(dataset, H5T_NATIVE_INT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8[0]);
/* Attribute of 8 bits signed int */
adims[0] = F66_XDIM * F66_YDIM8;
aspace = H5Screate_simple(1, adims, NULL);
@@ -9742,7 +9967,7 @@ gent_intsattrs(void)
val16bits = (int16_t)(val16bits << 1);
}
- H5Dwrite(dataset, H5T_NATIVE_INT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16);
+ H5Dwrite(dataset, H5T_NATIVE_INT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16[0]);
/* Attribute of 16 bits signed int */
adims[0] = F66_XDIM * F66_YDIM16;
aspace = H5Screate_simple(1, adims, NULL);
@@ -9769,7 +9994,7 @@ gent_intsattrs(void)
val32bits <<= 1;
}
- H5Dwrite(dataset, H5T_NATIVE_INT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32);
+ H5Dwrite(dataset, H5T_NATIVE_INT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32[0]);
/* Attribute of 32 bits signed int */
adims[0] = F66_XDIM * F66_YDIM32;
aspace = H5Screate_simple(1, adims, NULL);
@@ -9796,7 +10021,7 @@ gent_intsattrs(void)
val64bits <<= 1;
}
- H5Dwrite(dataset, H5T_NATIVE_INT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64);
+ H5Dwrite(dataset, H5T_NATIVE_INT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64[0]);
/* Attribute of 64 bits signed int */
adims[0] = F66_XDIM * F66_YDIM64;
aspace = H5Screate_simple(1, adims, NULL);
@@ -9818,7 +10043,7 @@ gent_intsattrs(void)
asetdbl[i*dims[1]+j] = dsetdbl[i][j];
}
- H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl);
+ H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl[0]);
/* Attribute of double */
adims[0] = F66_XDIM * F66_YDIM8;
aspace = H5Screate_simple(1, adims, NULL);
@@ -9829,6 +10054,26 @@ gent_intsattrs(void)
H5Sclose(space);
H5Dclose(dataset);
H5Fclose(fid);
+
+ HDfree(dsetu8);
+ HDfree(dsetu16);
+ HDfree(dsetu32);
+ HDfree(dsetu64);
+ HDfree(dset8);
+ HDfree(dset16);
+ HDfree(dset32);
+ HDfree(dset64);
+ HDfree(dsetdbl);
+
+ HDfree(asetu8);
+ HDfree(asetu16);
+ HDfree(asetu32);
+ HDfree(asetu64);
+ HDfree(aset8);
+ HDfree(aset16);
+ HDfree(aset32);
+ HDfree(aset64);
+ HDfree(asetdbl);
}
static void gent_bitnopaquefields(void)