summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/H5FD.c4
-rw-r--r--src/H5FDmulti.c48
-rw-r--r--src/H5I.c4
-rw-r--r--src/H5Ofill.c12
-rw-r--r--src/H5private.h14
5 files changed, 48 insertions, 34 deletions
diff --git a/src/H5FD.c b/src/H5FD.c
index b43b84d..fcffb45 100644
--- a/src/H5FD.c
+++ b/src/H5FD.c
@@ -207,7 +207,7 @@ H5FDregister(const H5FD_class_t *cls)
HRETURN_ERROR(H5E_ARGS, H5E_UNINITIALIZED, FAIL,
"`read' and/or `write' method is not defined");
}
- for (type=H5FD_MEM_DEFAULT; type<H5FD_MEM_NTYPES; type = type+1) {
+ for (type=H5FD_MEM_DEFAULT; type<H5FD_MEM_NTYPES; H5_INC_ENUM(H5FD_mem_t,type)) {
if (cls->fl_map[type]<H5FD_MEM_NOLIST ||
cls->fl_map[type]>=H5FD_MEM_NTYPES) {
HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
@@ -904,7 +904,7 @@ H5FD_close(H5FD_t *file)
/* Free all free-lists, leaking any memory thus described. Also leaks
* file space allocated but not used when metadata aggregation is
* turned on. */
- for (i=H5FD_MEM_DEFAULT; i<H5FD_MEM_NTYPES; i=i+1) {
+ for (i=H5FD_MEM_DEFAULT; i<H5FD_MEM_NTYPES; H5_INC_ENUM(H5FD_mem_t,i)) {
for (cur=file->fl[i]; cur; cur=next) {
#ifdef H5F_DEBUG
nblocks++;
diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c
index ea09b90..2e7045b 100644
--- a/src/H5FDmulti.c
+++ b/src/H5FDmulti.c
@@ -43,7 +43,7 @@
hbool_t _seen[H5FD_MEM_NTYPES]; \
\
memset(_seen, 0, sizeof _seen); \
- for (_unmapped=H5FD_MEM_SUPER; _unmapped<H5FD_MEM_NTYPES; _unmapped=_unmapped+1) { \
+ for (_unmapped=H5FD_MEM_SUPER; _unmapped<H5FD_MEM_NTYPES; _unmapped=(H5FD_mem_t)(_unmapped+1)) { \
LOOPVAR = MAP[_unmapped]; \
if (H5FD_MEM_DEFAULT==LOOPVAR) LOOPVAR=_unmapped; \
assert(LOOPVAR>0 && LOOPVAR<H5FD_MEM_NTYPES); \
@@ -59,7 +59,7 @@
#define ALL_MEMBERS(LOOPVAR) { \
H5FD_mem_t LOOPVAR; \
- for (LOOPVAR=H5FD_MEM_DEFAULT; LOOPVAR<H5FD_MEM_NTYPES; LOOPVAR=LOOPVAR+1) {
+ for (LOOPVAR=H5FD_MEM_DEFAULT; LOOPVAR<H5FD_MEM_NTYPES; LOOPVAR=(H5FD_mem_t)(LOOPVAR+1)) {
#define END_MEMBERS }}
@@ -259,7 +259,7 @@ H5Pset_fapl_split(hid_t fapl, const char *meta_ext, hid_t meta_plist_id,
H5Eclear();
/* Initialize */
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
memb_map[mt] = (H5FD_MEM_DRAW==mt?mt:H5FD_MEM_SUPER);
memb_fapl[mt] = -1;
memb_name[mt] = NULL;
@@ -408,33 +408,33 @@ H5Pset_fapl_multi(hid_t fapl_id, const H5FD_mem_t *memb_map,
TRUE != H5Pisa_class(fapl_id, H5P_FILE_ACCESS))
H5Epush_ret(func, H5E_PLIST, H5E_BADVALUE, "not an access list", -1);
if (!memb_map) {
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
_memb_map[mt] = H5FD_MEM_DEFAULT;
}
memb_map = _memb_map;
}
if (!memb_fapl) {
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
_memb_fapl[mt] = H5P_DEFAULT;
}
memb_fapl = _memb_fapl;
}
if (!memb_name) {
assert(strlen(letters)==H5FD_MEM_NTYPES);
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
sprintf(_memb_name[mt], "%%s-%c.h5", letters[mt]);
_memb_name_ptrs[mt] = _memb_name[mt];
}
memb_name = _memb_name_ptrs;
}
if (!memb_addr) {
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
_memb_addr[mt] = (mt?mt-1:0) * HADDR_MAX/H5FD_MEM_NTYPES;
}
memb_addr = _memb_addr;
}
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
/* Map usage type */
mmt = memb_map[mt];
if (mmt<0 || mmt>=H5FD_MEM_NTYPES)
@@ -513,7 +513,7 @@ H5Pget_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map/*out*/,
memcpy(memb_map, fa->memb_map, H5FD_MEM_NTYPES*sizeof(H5FD_mem_t));
}
if (memb_fapl) {
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
if (fa->memb_fapl[mt]>=0) {
memb_fapl[mt] = H5Pcopy(fa->memb_fapl[mt]);
} else {
@@ -522,7 +522,7 @@ H5Pget_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map/*out*/,
}
}
if (memb_name) {
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
if (fa->memb_name[mt]) {
memb_name[mt] = malloc(strlen(fa->memb_name[mt])+1);
strcpy(memb_name[mt], fa->memb_name[mt]);
@@ -578,7 +578,7 @@ H5Pset_dxpl_multi(hid_t dxpl_id, const hid_t *memb_dxpl)
H5Epush_ret(func, H5E_PLIST, H5E_BADTYPE, "not a data transfer property list", -1);
if (!memb_dxpl)
H5Epush_ret(func, H5E_INTERNAL, H5E_BADVALUE, "invalid pointer", -1);
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
if (H5P_DEFAULT!=memb_dxpl[mt] &&
TRUE!=H5Pisa_class(memb_dxpl[mt], H5P_DATASET_XFER))
H5Epush_ret(func, H5E_PLIST, H5E_BADTYPE, "not a data transfer property list", -1);
@@ -627,7 +627,7 @@ H5Pget_dxpl_multi(hid_t dxpl_id, hid_t *memb_dxpl/*out*/)
H5Epush_ret(func, H5E_PLIST, H5E_BADVALUE, "bad VFL driver info", -1);
if (memb_dxpl) {
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
if (dx->memb_dxpl[mt]>=0) {
memb_dxpl[mt] = H5Pcopy(dx->memb_dxpl[mt]);
} else {
@@ -729,7 +729,7 @@ H5FD_multi_sb_encode(H5FD_t *_file, char *name/*out*/,
strcpy(name, "NCSAmulti");
assert(7==H5FD_MEM_NTYPES);
- for (m=H5FD_MEM_SUPER; m<H5FD_MEM_NTYPES; m=m+1) {
+ for (m=H5FD_MEM_SUPER; m<H5FD_MEM_NTYPES; m=(H5FD_mem_t)(m+1)) {
buf[m-1] = file->fa.memb_map[m];
}
buf[7] = 0;
@@ -989,7 +989,7 @@ H5FD_multi_fapl_copy(const void *_old_fa)
H5Eclear();
memcpy(new_fa, old_fa, sizeof(H5FD_multi_fapl_t));
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
if (old_fa->memb_fapl[mt]>=0) {
new_fa->memb_fapl[mt] = H5Pcopy(old_fa->memb_fapl[mt]);
if (new_fa->memb_fapl[mt]<0) nerrors++;
@@ -1002,7 +1002,7 @@ H5FD_multi_fapl_copy(const void *_old_fa)
}
if (nerrors) {
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
if (new_fa->memb_fapl[mt]>=0) H5Pclose(new_fa->memb_fapl[mt]);
if (new_fa->memb_name[mt]) free(new_fa->memb_name[mt]);
}
@@ -1038,7 +1038,7 @@ H5FD_multi_fapl_free(void *_fa)
/* Clear the error stack */
H5Eclear();
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
if (fa->memb_fapl[mt]>=0) H5Pclose(fa->memb_fapl[mt]);
if (fa->memb_name[mt]) free(fa->memb_name[mt]);
}
@@ -1078,7 +1078,7 @@ H5FD_multi_dxpl_copy(const void *_old_dx)
H5Eclear();
memcpy(new_dx, old_dx, sizeof(H5FD_multi_dxpl_t));
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
if (old_dx->memb_dxpl[mt]>=0) {
new_dx->memb_dxpl[mt] = H5Pcopy(old_dx->memb_dxpl[mt]);
if (new_dx->memb_dxpl[mt]<0) nerrors++;
@@ -1086,7 +1086,7 @@ H5FD_multi_dxpl_copy(const void *_old_dx)
}
if (nerrors) {
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1)
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1))
H5Pclose(new_dx->memb_dxpl[mt]);
free(new_dx);
H5Epush_ret(func, H5E_INTERNAL, H5E_BADVALUE, "invalid freespace objects", NULL);
@@ -1120,7 +1120,7 @@ H5FD_multi_dxpl_free(void *_dx)
/* Clear the error stack */
H5Eclear();
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1)
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1))
if (dx->memb_dxpl[mt]>=0)
H5Pclose(dx->memb_dxpl[mt]);
free(dx);
@@ -1323,7 +1323,7 @@ H5FD_multi_cmp(const H5FD_t *_f1, const H5FD_t *_f2)
/* Clear the error stack */
H5Eclear();
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
if (f1->memb[mt] && f2->memb[mt]) break;
if (!cmp) {
if (f1->memb[mt]) cmp = -1;
@@ -1431,7 +1431,7 @@ H5FD_multi_set_eoa(H5FD_t *_file, haddr_t eoa)
H5Eclear();
/* Find the subfile in which the new EOA value falls */
- for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
mmt = file->fa.memb_map[mt];
if (H5FD_MEM_DEFAULT==mmt) mmt = mt;
assert(mmt>0 && mmt<H5FD_MEM_NTYPES);
@@ -1621,7 +1621,7 @@ H5FD_multi_read(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, siz
}
/* Find the file to which this address belongs */
- for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
mmt = file->fa.memb_map[mt];
if (H5FD_MEM_DEFAULT==mmt) mmt = mt;
assert(mmt>0 && mmt<H5FD_MEM_NTYPES);
@@ -1676,7 +1676,7 @@ H5FD_multi_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, si
}
/* Find the file to which this address belongs */
- for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
mmt = file->fa.memb_map[mt];
if (H5FD_MEM_DEFAULT==mmt) mmt = mt;
assert(mmt>0 && mmt<H5FD_MEM_NTYPES);
@@ -1755,7 +1755,7 @@ H5FD_multi_flush(H5FD_t *_file, unsigned closing)
H5Eclear();
/* Flush each file */
- for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=mt+1) {
+ for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) {
if (file->memb[mt]) {
H5E_BEGIN_TRY {
if (H5FDflush(file->memb[mt],closing)<0) nerrors++;
diff --git a/src/H5I.c b/src/H5I.c
index 1f47030..f7992f7 100644
--- a/src/H5I.c
+++ b/src/H5I.c
@@ -121,14 +121,14 @@ H5I_term_interface(void)
if (interface_initialize_g) {
/* How many groups are still being used? */
- for (grp=(H5I_type_t)0; grp<H5I_NGROUPS; grp=grp+1) {
+ for (grp=(H5I_type_t)0; grp<H5I_NGROUPS; H5_INC_ENUM(H5I_type_t,grp)) {
if ((grp_ptr=H5I_id_group_list_g[grp]) && grp_ptr->id_list)
n++;
}
/* If no groups are used then clean up */
if (0==n) {
- for (grp=(H5I_type_t)0; grp<H5I_NGROUPS; grp=grp+1) {
+ for (grp=(H5I_type_t)0; grp<H5I_NGROUPS; H5_INC_ENUM(H5I_type_t,grp)) {
grp_ptr = H5I_id_group_list_g[grp];
H5MM_xfree(grp_ptr);
H5I_id_group_list_g[grp] = NULL;
diff --git a/src/H5Ofill.c b/src/H5Ofill.c
index 4342f13..b50e2da 100644
--- a/src/H5Ofill.c
+++ b/src/H5Ofill.c
@@ -116,10 +116,10 @@ H5O_fill_new_decode(H5F_t UNUSED *f, const uint8_t *p,
}
/* Space allocation time */
- mesg->space_time = *p++;
+ mesg->space_time = (H5D_space_time_t)*p++;
/* Fill value write time */
- mesg->fill_time = *p++;
+ mesg->fill_time = (H5D_fill_time_t)*p++;
/* Whether fill value is defined */
mesg->fill_defined = *p++;
@@ -510,9 +510,9 @@ H5O_fill_new_reset(void *_mesg)
H5T_close(mesg->type);
mesg->type = NULL;
}
- mesg->space_time = 0;
- mesg->fill_time = 0;
- mesg->fill_defined = 0;
+ mesg->space_time = (H5D_space_time_t)0;
+ mesg->fill_time = (H5D_fill_time_t)0;
+ mesg->fill_defined = (H5D_fill_value_t)0;
FUNC_LEAVE(SUCCEED);
}
@@ -712,7 +712,7 @@ H5O_fill_convert(void *_fill, H5T_t *dset_type)
}
H5T_close(fill->type);
fill->type = NULL;
- fill->size = H5T_get_size(dset_type);
+ H5_ASSIGN_OVERFLOW(fill->size,H5T_get_size(dset_type),size_t,ssize_t);
ret_value = SUCCEED;
done:
diff --git a/src/H5private.h b/src/H5private.h
index 425fd32..15721db 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -411,6 +411,20 @@
#endif
/*
+ * A macro to portably increment enumerated types.
+ */
+#ifndef H5_INC_ENUM
+# define H5_INC_ENUM(TYPE,VAR) (VAR)=((TYPE)((VAR)+1))
+#endif
+
+/*
+ * A macro to portably decrement enumerated types.
+ */
+#ifndef H5_DEC_ENUM
+# define H5_DEC_ENUM(TYPE,VAR) (VAR)=((TYPE)((VAR)-1))
+#endif
+
+/*
* A macro for detecting over/under-flow when casting between types
*/
#ifndef NDEBUG