diff options
Diffstat (limited to 'src/H5Cpkg.h')
-rw-r--r-- | src/H5Cpkg.h | 425 |
1 files changed, 231 insertions, 194 deletions
diff --git a/src/H5Cpkg.h b/src/H5Cpkg.h index 809535b..81e67fe 100644 --- a/src/H5Cpkg.h +++ b/src/H5Cpkg.h @@ -71,7 +71,7 @@ #ifdef H5C_DO_SANITY_CHECKS #define H5C__GEN_DLL_PRE_REMOVE_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size, fail_val) \ -if ((head_ptr) == NULL || (tail_ptr) == NULL || \ +do { if ((head_ptr) == NULL || (tail_ptr) == NULL || \ (entry_ptr) == NULL || (len) <= 0 || \ (list_size) < (entry_ptr)->size || \ ((entry_ptr)->list_prev == NULL && (head_ptr) != (entry_ptr)) || \ @@ -84,7 +84,7 @@ if ((head_ptr) == NULL || (tail_ptr) == NULL || \ ) \ ) { \ HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, (fail_val), "DLL pre remove SC failed") \ -} +} } while (0) #define H5C__GEN_DLL_PRE_INSERT_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size, fail_val) \ if ((entry_ptr) == NULL || (entry_ptr)->list_next != NULL || (entry_ptr)->list_prev != NULL || \ @@ -157,7 +157,7 @@ if ((new_size) > (dll_size) || ((dll_len) == 1 && (new_size) != (dll_size))) { \ #define H5C__GEN_DLL_REMOVE(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size, fail_val) \ { \ - H5C__GEN_DLL_PRE_REMOVE_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size, fail_val) \ + H5C__GEN_DLL_PRE_REMOVE_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size, fail_val); \ if ((head_ptr) == (entry_ptr)) { \ (head_ptr) = (entry_ptr)->list_next; \ if ((head_ptr) != NULL) \ @@ -226,24 +226,31 @@ if ((new_size) > (dll_size) || ((dll_len) == 1 && (new_size) != (dll_size))) { \ ***********************************************************************/ #define H5C__UPDATE_CACHE_HIT_RATE_STATS(cache_ptr, hit) \ +do { \ (cache_ptr)->cache_accesses++; \ if (hit) \ - (cache_ptr)->cache_hits++; + (cache_ptr)->cache_hits++; \ +} while (0) #if H5C_COLLECT_CACHE_STATS #define H5C__UPDATE_MAX_INDEX_SIZE_STATS(cache_ptr) \ +do { \ if ((cache_ptr)->index_size > (cache_ptr)->max_index_size) \ (cache_ptr)->max_index_size = (cache_ptr)->index_size; \ if ((cache_ptr)->clean_index_size > (cache_ptr)->max_clean_index_size) \ (cache_ptr)->max_clean_index_size = (cache_ptr)->clean_index_size; \ if ((cache_ptr)->dirty_index_size > (cache_ptr)->max_dirty_index_size) \ - (cache_ptr)->max_dirty_index_size = (cache_ptr)->dirty_index_size; + (cache_ptr)->max_dirty_index_size = (cache_ptr)->dirty_index_size; \ +} while (0) -#define H5C__UPDATE_STATS_FOR_DIRTY_PIN(cache_ptr, entry_ptr) \ - (cache_ptr)->dirty_pins[(entry_ptr)->type->id]++; +#define H5C__UPDATE_STATS_FOR_DIRTY_PIN(cache_ptr, entry_ptr) \ +do { \ + (cache_ptr)->dirty_pins[(entry_ptr)->type->id]++; \ +} while (0) #define H5C__UPDATE_STATS_FOR_UNPROTECT(cache_ptr) \ +do { \ if ((cache_ptr)->slist_len > (cache_ptr)->max_slist_len) \ (cache_ptr)->max_slist_len = (cache_ptr)->slist_len; \ if ((cache_ptr)->slist_size > (cache_ptr)->max_slist_size) \ @@ -251,96 +258,118 @@ if ((new_size) > (dll_size) || ((dll_len) == 1 && (new_size) != (dll_size))) { \ if ((cache_ptr)->pel_len > (cache_ptr)->max_pel_len) \ (cache_ptr)->max_pel_len = (cache_ptr)->pel_len; \ if ((cache_ptr)->pel_size > (cache_ptr)->max_pel_size) \ - (cache_ptr)->max_pel_size = (cache_ptr)->pel_size; + (cache_ptr)->max_pel_size = (cache_ptr)->pel_size; \ +} while (0) #define H5C__UPDATE_STATS_FOR_MOVE(cache_ptr, entry_ptr) \ +do { \ if ((cache_ptr)->flush_in_progress) \ (cache_ptr)->cache_flush_moves[(entry_ptr)->type->id]++; \ if ((entry_ptr)->flush_in_progress) \ (cache_ptr)->entry_flush_moves[(entry_ptr)->type->id]++; \ (cache_ptr)->moves[(entry_ptr)->type->id]++; \ - (cache_ptr)->entries_relocated_counter++; + (cache_ptr)->entries_relocated_counter++; \ +} while (0) #define H5C__UPDATE_STATS_FOR_ENTRY_SIZE_CHANGE(cache_ptr, entry_ptr, new_size) \ +do { \ if ((cache_ptr)->flush_in_progress) \ (cache_ptr)->cache_flush_size_changes[(entry_ptr)->type->id]++; \ if ((entry_ptr)->flush_in_progress) \ (cache_ptr)->entry_flush_size_changes[(entry_ptr)->type->id]++; \ if ((entry_ptr)->size < (new_size)) { \ (cache_ptr)->size_increases[(entry_ptr)->type->id]++; \ - H5C__UPDATE_MAX_INDEX_SIZE_STATS(cache_ptr) \ + H5C__UPDATE_MAX_INDEX_SIZE_STATS(cache_ptr); \ if ((cache_ptr)->slist_size > (cache_ptr)->max_slist_size) \ (cache_ptr)->max_slist_size = (cache_ptr)->slist_size; \ if ((cache_ptr)->pl_size > (cache_ptr)->max_pl_size) \ (cache_ptr)->max_pl_size = (cache_ptr)->pl_size; \ - } else if ((entry_ptr)->size > (new_size)) \ - (cache_ptr)->size_decreases[(entry_ptr)->type->id]++; + } else if ((entry_ptr)->size > (new_size)) { \ + (cache_ptr)->size_decreases[(entry_ptr)->type->id]++; \ + } \ +} while (0) #define H5C__UPDATE_STATS_FOR_HT_INSERTION(cache_ptr) \ - (cache_ptr)->total_ht_insertions++; +do { \ + (cache_ptr)->total_ht_insertions++; \ +} while (0) #define H5C__UPDATE_STATS_FOR_HT_DELETION(cache_ptr) \ - (cache_ptr)->total_ht_deletions++; +do { \ + (cache_ptr)->total_ht_deletions++; \ +} while (0) #define H5C__UPDATE_STATS_FOR_HT_SEARCH(cache_ptr, success, depth) \ +do { \ if (success) { \ (cache_ptr)->successful_ht_searches++; \ (cache_ptr)->total_successful_ht_search_depth += depth; \ } else { \ (cache_ptr)->failed_ht_searches++; \ (cache_ptr)->total_failed_ht_search_depth += depth; \ - } + } \ +} while (0) #define H5C__UPDATE_STATS_FOR_UNPIN(cache_ptr, entry_ptr) \ - (cache_ptr)->unpins[(entry_ptr)->type->id]++; +do { \ + (cache_ptr)->unpins[(entry_ptr)->type->id]++; \ +} while (0) #define H5C__UPDATE_STATS_FOR_PREFETCH(cache_ptr, dirty) \ -{ \ +do { \ (cache_ptr)->prefetches++; \ if (dirty) \ (cache_ptr)->dirty_prefetches++; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_PREFETCH_HIT(cache_ptr) \ - (cache_ptr)->prefetch_hits++; +do { \ + (cache_ptr)->prefetch_hits++; \ +} while (0) #define H5C__UPDATE_STATS_FOR_SLIST_SCAN_RESTART(cache_ptr) \ - (cache_ptr)->slist_scan_restarts++; +do { \ + (cache_ptr)->slist_scan_restarts++; \ +} while (0) #define H5C__UPDATE_STATS_FOR_LRU_SCAN_RESTART(cache_ptr) \ - (cache_ptr)->LRU_scan_restarts++; +do { \ + (cache_ptr)->LRU_scan_restarts++; \ +} while (0) #define H5C__UPDATE_STATS_FOR_INDEX_SCAN_RESTART(cache_ptr) \ - (cache_ptr)->index_scan_restarts++; +do { \ + (cache_ptr)->index_scan_restarts++; \ +} while (0) #if H5C_COLLECT_CACHE_ENTRY_STATS #define H5C__RESET_CACHE_ENTRY_STATS(entry_ptr) \ -{ \ +do { \ (entry_ptr)->accesses = 0; \ (entry_ptr)->clears = 0; \ (entry_ptr)->flushes = 0; \ (entry_ptr)->pins = 0; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_CLEAR(cache_ptr, entry_ptr) \ -{ \ +do { \ (cache_ptr)->clears[(entry_ptr)->type->id]++; \ if((entry_ptr)->is_pinned) \ (cache_ptr)->pinned_clears[(entry_ptr)->type->id]++; \ (entry_ptr)->clears++; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_FLUSH(cache_ptr, entry_ptr) \ -{ \ +do { \ (cache_ptr)->flushes[(entry_ptr)->type->id]++; \ if((entry_ptr)->is_pinned) \ (cache_ptr)->pinned_flushes[(entry_ptr)->type->id]++; \ (entry_ptr)->flushes++; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_EVICTION(cache_ptr, entry_ptr, take_ownership) \ -{ \ +do { \ if (take_ownership) \ (cache_ptr)->take_ownerships[(entry_ptr)->type->id]++; \ else \ @@ -357,10 +386,10 @@ if ((new_size) > (dll_size) || ((dll_len) == 1 && (new_size) != (dll_size))) { \ (cache_ptr)->max_size[(entry_ptr)->type->id] = (entry_ptr)->size; \ if ((entry_ptr)->pins > (cache_ptr)->max_pins[(entry_ptr)->type->id]) \ (cache_ptr)->max_pins[(entry_ptr)->type->id] = (entry_ptr)->pins; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_INSERTION(cache_ptr, entry_ptr) \ -{ \ +do { \ (cache_ptr)->insertions[(entry_ptr)->type->id]++; \ if ((entry_ptr)->is_pinned) { \ (cache_ptr)->pinned_insertions[(entry_ptr)->type->id]++; \ @@ -373,7 +402,7 @@ if ((new_size) > (dll_size) || ((dll_len) == 1 && (new_size) != (dll_size))) { \ } \ if ((cache_ptr)->index_len > (cache_ptr)->max_index_len) \ (cache_ptr)->max_index_len = (cache_ptr)->index_len; \ - H5C__UPDATE_MAX_INDEX_SIZE_STATS(cache_ptr) \ + H5C__UPDATE_MAX_INDEX_SIZE_STATS(cache_ptr); \ if ((cache_ptr)->slist_len > (cache_ptr)->max_slist_len) \ (cache_ptr)->max_slist_len = (cache_ptr)->slist_len; \ if ((cache_ptr)->slist_size > (cache_ptr)->max_slist_size) \ @@ -381,10 +410,10 @@ if ((new_size) > (dll_size) || ((dll_len) == 1 && (new_size) != (dll_size))) { \ if ((entry_ptr)->size > (cache_ptr)->max_size[(entry_ptr)->type->id]) \ (cache_ptr)->max_size[(entry_ptr)->type->id] = (entry_ptr)->size; \ (cache_ptr)->entries_inserted_counter++; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_PROTECT(cache_ptr, entry_ptr, hit) \ -{ \ +do { \ if (hit) \ (cache_ptr)->hits[(entry_ptr)->type->id]++; \ else \ @@ -398,7 +427,7 @@ if ((new_size) > (dll_size) || ((dll_len) == 1 && (new_size) != (dll_size))) { \ } \ if ((cache_ptr)->index_len > (cache_ptr)->max_index_len) \ (cache_ptr)->max_index_len = (cache_ptr)->index_len; \ - H5C__UPDATE_MAX_INDEX_SIZE_STATS(cache_ptr) \ + H5C__UPDATE_MAX_INDEX_SIZE_STATS(cache_ptr); \ if ((cache_ptr)->pl_len > (cache_ptr)->max_pl_len) \ (cache_ptr)->max_pl_len = (cache_ptr)->pl_len; \ if ((cache_ptr)->pl_size > (cache_ptr)->max_pl_size) \ @@ -406,46 +435,46 @@ if ((new_size) > (dll_size) || ((dll_len) == 1 && (new_size) != (dll_size))) { \ if ((entry_ptr)->size > (cache_ptr)->max_size[(entry_ptr)->type->id]) \ (cache_ptr)->max_size[(entry_ptr)->type->id] = (entry_ptr)->size; \ (entry_ptr)->accesses++; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_PIN(cache_ptr, entry_ptr) \ -{ \ +do { \ (cache_ptr)->pins[(entry_ptr)->type->id]++; \ (entry_ptr)->pins++; \ if ((cache_ptr)->pel_len > (cache_ptr)->max_pel_len) \ (cache_ptr)->max_pel_len = (cache_ptr)->pel_len; \ if ((cache_ptr)->pel_size > (cache_ptr)->max_pel_size) \ (cache_ptr)->max_pel_size = (cache_ptr)->pel_size; \ -} +} while (0) #else /* H5C_COLLECT_CACHE_ENTRY_STATS */ #define H5C__RESET_CACHE_ENTRY_STATS(entry_ptr) #define H5C__UPDATE_STATS_FOR_CLEAR(cache_ptr, entry_ptr) \ -{ \ +do { \ (cache_ptr)->clears[(entry_ptr)->type->id]++; \ if((entry_ptr)->is_pinned) \ (cache_ptr)->pinned_clears[(entry_ptr)->type->id]++; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_FLUSH(cache_ptr, entry_ptr) \ -{ \ +do { \ (cache_ptr)->flushes[(entry_ptr)->type->id]++; \ if ((entry_ptr)->is_pinned) \ (cache_ptr)->pinned_flushes[(entry_ptr)->type->id]++; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_EVICTION(cache_ptr, entry_ptr, take_ownership) \ -{ \ +do { \ if (take_ownership) \ (cache_ptr)->take_ownerships[(entry_ptr)->type->id]++; \ else \ (cache_ptr)->evictions[(entry_ptr)->type->id]++; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_INSERTION(cache_ptr, entry_ptr) \ -{ \ +do { \ (cache_ptr)->insertions[(entry_ptr)->type->id]++; \ if ((entry_ptr)->is_pinned) { \ (cache_ptr)->pinned_insertions[(entry_ptr)->type->id]++; \ @@ -463,10 +492,10 @@ if ((new_size) > (dll_size) || ((dll_len) == 1 && (new_size) != (dll_size))) { \ if ((cache_ptr)->slist_size > (cache_ptr)->max_slist_size) \ (cache_ptr)->max_slist_size = (cache_ptr)->slist_size; \ (cache_ptr)->entries_inserted_counter++; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_PROTECT(cache_ptr, entry_ptr, hit) \ -{ \ +do { \ if (hit) \ (cache_ptr)->hits[(entry_ptr)->type->id]++; \ else \ @@ -487,16 +516,16 @@ if ((new_size) > (dll_size) || ((dll_len) == 1 && (new_size) != (dll_size))) { \ (cache_ptr)->max_pl_len = (cache_ptr)->pl_len; \ if ((cache_ptr)->pl_size > (cache_ptr)->max_pl_size) \ (cache_ptr)->max_pl_size = (cache_ptr)->pl_size; \ -} +} while (0) #define H5C__UPDATE_STATS_FOR_PIN(cache_ptr, entry_ptr) \ -{ \ +do { \ (cache_ptr)->pins[(entry_ptr)->type->id]++; \ if ((cache_ptr)->pel_len > (cache_ptr)->max_pel_len) \ (cache_ptr)->max_pel_len = (cache_ptr)->pel_len; \ if ((cache_ptr)->pel_size > (cache_ptr)->max_pel_size) \ (cache_ptr)->max_pel_size = (cache_ptr)->pel_size; \ -} +} while (0) #endif /* H5C_COLLECT_CACHE_ENTRY_STATS */ @@ -839,9 +868,9 @@ do { \ } \ H5C__IL_DLL_APPEND((entry_ptr), (cache_ptr)->il_head, \ (cache_ptr)->il_tail, (cache_ptr)->il_len, \ - (cache_ptr)->il_size, fail_val) \ - H5C__UPDATE_STATS_FOR_HT_INSERTION(cache_ptr) \ - H5C__POST_HT_INSERT_SC(cache_ptr, entry_ptr, fail_val) \ + (cache_ptr)->il_size, fail_val); \ + H5C__UPDATE_STATS_FOR_HT_INSERTION(cache_ptr); \ + H5C__POST_HT_INSERT_SC(cache_ptr, entry_ptr, fail_val); \ } while (0) #define H5C__DELETE_FROM_INDEX(cache_ptr, entry_ptr, fail_val) \ @@ -874,21 +903,21 @@ do { \ } \ H5C__IL_DLL_REMOVE((entry_ptr), (cache_ptr)->il_head, \ (cache_ptr)->il_tail, (cache_ptr)->il_len, \ - (cache_ptr)->il_size, fail_val) \ - H5C__UPDATE_STATS_FOR_HT_DELETION(cache_ptr) \ - H5C__POST_HT_REMOVE_SC(cache_ptr, entry_ptr, fail_val) \ + (cache_ptr)->il_size, fail_val); \ + H5C__UPDATE_STATS_FOR_HT_DELETION(cache_ptr); \ + H5C__POST_HT_REMOVE_SC(cache_ptr, entry_ptr, fail_val); \ } while (0) #define H5C__SEARCH_INDEX(cache_ptr, entry_addr, entry_ptr, fail_val) \ -{ \ +do { \ int k; \ int depth = 0; \ - H5C__PRE_HT_SEARCH_SC(cache_ptr, entry_addr, fail_val) \ + H5C__PRE_HT_SEARCH_SC(cache_ptr, entry_addr, fail_val); \ k = H5C__HASH_FCN(entry_addr); \ (entry_ptr) = (cache_ptr)->index[k]; \ while(entry_ptr) { \ - if(H5_addr_eq(entry_addr, (entry_ptr)->addr)) { \ - H5C__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, k, fail_val) \ + if(H5_addr_eq(entry_addr, (entry_ptr)->addr)) { \ + H5C__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, k, fail_val); \ if((entry_ptr) != (cache_ptr)->index[k]) { \ if((entry_ptr)->ht_next) \ (entry_ptr)->ht_next->ht_prev = (entry_ptr)->ht_prev; \ @@ -898,41 +927,41 @@ do { \ (entry_ptr)->ht_next = (cache_ptr)->index[k]; \ (entry_ptr)->ht_prev = NULL; \ (cache_ptr)->index[k] = (entry_ptr); \ - H5C__POST_HT_SHIFT_TO_FRONT_SC(cache_ptr, entry_ptr, k, fail_val) \ + H5C__POST_HT_SHIFT_TO_FRONT_SC(cache_ptr, entry_ptr, k, fail_val); \ } \ break; \ } \ (entry_ptr) = (entry_ptr)->ht_next; \ (depth)++; \ } \ - H5C__UPDATE_STATS_FOR_HT_SEARCH(cache_ptr, ((entry_ptr) != NULL), depth) \ -} + H5C__UPDATE_STATS_FOR_HT_SEARCH(cache_ptr, ((entry_ptr) != NULL), depth); \ +} while (0) #define H5C__UPDATE_INDEX_FOR_ENTRY_CLEAN(cache_ptr, entry_ptr, fail_val) \ -{ \ - H5C__PRE_HT_UPDATE_FOR_ENTRY_CLEAN_SC(cache_ptr, entry_ptr, fail_val) \ +do { \ + H5C__PRE_HT_UPDATE_FOR_ENTRY_CLEAN_SC(cache_ptr, entry_ptr, fail_val); \ (cache_ptr)->dirty_index_size -= (entry_ptr)->size; \ (cache_ptr)->dirty_index_ring_size[(entry_ptr)->ring] -= (entry_ptr)->size; \ (cache_ptr)->clean_index_size += (entry_ptr)->size; \ (cache_ptr)->clean_index_ring_size[(entry_ptr)->ring] += (entry_ptr)->size; \ - H5C__POST_HT_UPDATE_FOR_ENTRY_CLEAN_SC(cache_ptr, entry_ptr, fail_val) \ -} + H5C__POST_HT_UPDATE_FOR_ENTRY_CLEAN_SC(cache_ptr, entry_ptr, fail_val); \ +} while (0) #define H5C__UPDATE_INDEX_FOR_ENTRY_DIRTY(cache_ptr, entry_ptr, fail_val) \ -{ \ - H5C__PRE_HT_UPDATE_FOR_ENTRY_DIRTY_SC(cache_ptr, entry_ptr, fail_val) \ +do { \ + H5C__PRE_HT_UPDATE_FOR_ENTRY_DIRTY_SC(cache_ptr, entry_ptr, fail_val); \ (cache_ptr)->clean_index_size -= (entry_ptr)->size; \ (cache_ptr)->clean_index_ring_size[(entry_ptr)->ring] -= (entry_ptr)->size; \ (cache_ptr)->dirty_index_size += (entry_ptr)->size; \ (cache_ptr)->dirty_index_ring_size[(entry_ptr)->ring] += (entry_ptr)->size; \ - H5C__POST_HT_UPDATE_FOR_ENTRY_DIRTY_SC(cache_ptr, entry_ptr, fail_val) \ -} + H5C__POST_HT_UPDATE_FOR_ENTRY_DIRTY_SC(cache_ptr, entry_ptr, fail_val); \ +} while (0) #define H5C__UPDATE_INDEX_FOR_SIZE_CHANGE(cache_ptr, old_size, new_size, \ entry_ptr, was_clean, fail_val) \ -{ \ +do { \ H5C__PRE_HT_ENTRY_SIZE_CHANGE_SC(cache_ptr, old_size, new_size, \ - entry_ptr, was_clean, fail_val) \ + entry_ptr, was_clean, fail_val); \ (cache_ptr)->index_size -= (old_size); \ (cache_ptr)->index_size += (new_size); \ (cache_ptr)->index_ring_size[(entry_ptr)->ring] -= (old_size); \ @@ -953,9 +982,9 @@ do { \ } \ H5C__DLL_UPDATE_FOR_SIZE_CHANGE((cache_ptr)->il_len, \ (cache_ptr)->il_size, \ - (old_size), (new_size), (fail_val)) \ + (old_size), (new_size), (fail_val)); \ H5C__POST_HT_ENTRY_SIZE_CHANGE_SC(cache_ptr, old_size, new_size, \ - entry_ptr, fail_val) \ + entry_ptr, fail_val); \ } while (0) @@ -980,20 +1009,20 @@ do { \ #ifdef H5C_DO_SANITY_CHECKS #define H5C__SLIST_INSERT_ENTRY_SC(cache_ptr, entry_ptr) \ -{ \ +do { \ (cache_ptr)->slist_len_increase++; \ (cache_ptr)->slist_size_increase += (int64_t)((entry_ptr)->size); \ -} /* H5C__SLIST_INSERT_ENTRY_SC() */ +} while (0) /* H5C__SLIST_INSERT_ENTRY_SC() */ #define H5C__SLIST_REMOVE_ENTRY_SC(cache_ptr, entry_ptr) \ -{ \ +do { \ (cache_ptr)->slist_len_increase--; \ (cache_ptr)->slist_size_increase -= (int64_t)((entry_ptr)->size); \ -} /* H5C__SLIST_REMOVE_ENTRY_SC() */ +} while (0) /* H5C__SLIST_REMOVE_ENTRY_SC() */ #define H5C__SLIST_UPDATE_FOR_ENTRY_SIZE_CHANGE_SC(cache_ptr, old_size, new_size) \ -{ \ +do { \ (cache_ptr)->slist_size_increase -= (int64_t)(old_size); \ (cache_ptr)->slist_size_increase += (int64_t)(new_size); \ -} /* H5C__SLIST_UPDATE_FOR_ENTRY_SIZE_CHANGE_SC() */ +} while (0) /* H5C__SLIST_UPDATE_FOR_ENTRY_SIZE_CHANGE_SC() */ #else /* H5C_DO_SANITY_CHECKS */ @@ -1044,7 +1073,7 @@ do { \ (cache_ptr)->slist_size += (entry_ptr)->size; \ ((cache_ptr)->slist_ring_len[(entry_ptr)->ring])++; \ ((cache_ptr)->slist_ring_size[(entry_ptr)->ring]) += (entry_ptr)->size;\ - H5C__SLIST_INSERT_ENTRY_SC(cache_ptr, entry_ptr) \ + H5C__SLIST_INSERT_ENTRY_SC(cache_ptr, entry_ptr); \ \ assert((cache_ptr)->slist_len > 0); \ assert((cache_ptr)->slist_size > 0); \ @@ -1066,7 +1095,7 @@ do { \ */ #define H5C__REMOVE_ENTRY_FROM_SLIST(cache_ptr, entry_ptr, during_flush, fail_val) \ -{ \ +do { \ assert(cache_ptr); \ \ if((cache_ptr)->slist_enabled) { \ @@ -1096,13 +1125,13 @@ do { \ (cache_ptr)->slist_ring_len[(entry_ptr)->ring]--; \ assert((cache_ptr)->slist_ring_size[(entry_ptr)->ring] >= (entry_ptr)->size); \ ((cache_ptr)->slist_ring_size[(entry_ptr)->ring]) -= (entry_ptr)->size;\ - H5C__SLIST_REMOVE_ENTRY_SC(cache_ptr, entry_ptr) \ + H5C__SLIST_REMOVE_ENTRY_SC(cache_ptr, entry_ptr); \ (entry_ptr)->in_slist = FALSE; \ } else { /* slist disabled */ \ assert((cache_ptr)->slist_len == 0); \ assert((cache_ptr)->slist_size == 0); \ } \ -} /* H5C__REMOVE_ENTRY_FROM_SLIST */ +} while (0) /* H5C__REMOVE_ENTRY_FROM_SLIST */ /*------------------------------------------------------------------------- @@ -1141,7 +1170,7 @@ do { \ (cache_ptr)->slist_ring_size[(entry_ptr)->ring] -= (old_size); \ (cache_ptr)->slist_ring_size[(entry_ptr)->ring] += (new_size); \ \ - H5C__SLIST_UPDATE_FOR_ENTRY_SIZE_CHANGE_SC(cache_ptr, old_size, new_size) \ + H5C__SLIST_UPDATE_FOR_ENTRY_SIZE_CHANGE_SC(cache_ptr, old_size, new_size); \ \ assert((new_size) <= (cache_ptr)->slist_size); \ assert((cache_ptr)->slist_len > 1 || \ @@ -1162,7 +1191,7 @@ do { \ #if H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS #define H5C__UPDATE_RP_FOR_EVICTION_CD_LRU(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ /* If the entry is clean when it is evicted, it should be on the \ * clean LRU list, if it was dirty, it should be on the dirty LRU list. \ * Remove it from the appropriate list according to the value of the \ @@ -1179,9 +1208,10 @@ do { \ (cache_ptr)->cLRU_list_len, \ (cache_ptr)->cLRU_list_size, (fail_val)) \ } \ -} /* H5C__UPDATE_RP_FOR_EVICTION_CD_LRU() */ +} while (0) /* H5C__UPDATE_RP_FOR_EVICTION_CD_LRU() */ + #define H5C__UPDATE_RP_FOR_FLUSH_CD_LRU(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ /* An entry being flushed or cleared, may not be dirty. Use the \ * dirty flag to infer whether the entry is on the clean or dirty \ * LRU list, and remove it. Then insert it at the head of the \ @@ -1207,9 +1237,10 @@ do { \ (cache_ptr)->cLRU_tail_ptr, \ (cache_ptr)->cLRU_list_len, \ (cache_ptr)->cLRU_list_size, (fail_val)) \ -} /* H5C__UPDATE_RP_FOR_FLUSH_CD_LRU() */ +} while (0) /* H5C__UPDATE_RP_FOR_FLUSH_CD_LRU() */ + #define H5C__UPDATE_RP_FOR_INSERT_APPEND_CD_LRU(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ /* Insert the entry at the _tail_ of the clean or dirty LRU list as \ * appropriate. \ */ \ @@ -1217,16 +1248,17 @@ do { \ H5C__AUX_DLL_APPEND((entry_ptr), (cache_ptr)->dLRU_head_ptr, \ (cache_ptr)->dLRU_tail_ptr, \ (cache_ptr)->dLRU_list_len, \ - (cache_ptr)->dLRU_list_size, (fail_val)) \ + (cache_ptr)->dLRU_list_size, (fail_val)); \ } else { \ H5C__AUX_DLL_APPEND((entry_ptr), (cache_ptr)->cLRU_head_ptr, \ (cache_ptr)->cLRU_tail_ptr, \ (cache_ptr)->cLRU_list_len, \ - (cache_ptr)->cLRU_list_size, (fail_val)) \ + (cache_ptr)->cLRU_list_size, (fail_val)); \ } \ -} /* H5C__UPDATE_RP_FOR_INSERT_APPEND_CD_LRU() */ +} while (0) /* H5C__UPDATE_RP_FOR_INSERT_APPEND_CD_LRU() */ + #define H5C__UPDATE_RP_FOR_INSERTION_CD_LRU(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ /* Insert the entry at the head of the clean or dirty LRU list as \ * appropriate. \ */ \ @@ -1241,7 +1273,8 @@ do { \ (cache_ptr)->cLRU_list_len, \ (cache_ptr)->cLRU_list_size, (fail_val)) \ } \ -} /* H5C__UPDATE_RP_FOR_INSERTION_CD_LRU() */ +} while(0) /* H5C__UPDATE_RP_FOR_INSERTION_CD_LRU() */ + #define H5C__UPDATE_RP_FOR_PROTECT_CD_LRU(cache_ptr, entry_ptr, fail_val) \ { \ /* Remove the entry from the clean or dirty LRU list as appropriate */ \ @@ -1256,9 +1289,10 @@ do { \ (cache_ptr)->cLRU_list_len, \ (cache_ptr)->cLRU_list_size, (fail_val)) \ } \ -} /* H5C__UPDATE_RP_FOR_PROTECT_CD_LRU() */ +} while (0) /* H5C__UPDATE_RP_FOR_PROTECT_CD_LRU() */ + #define H5C__UPDATE_RP_FOR_MOVE_CD_LRU(cache_ptr, entry_ptr, was_dirty, fail_val) \ -{ \ +do { \ /* Remove the entry from either the clean or dirty LRU list as \ * indicated by the was_dirty parameter \ */ \ @@ -1267,14 +1301,14 @@ do { \ (cache_ptr)->dLRU_head_ptr, \ (cache_ptr)->dLRU_tail_ptr, \ (cache_ptr)->dLRU_list_len, \ - (cache_ptr)->dLRU_list_size, (fail_val)) \ + (cache_ptr)->dLRU_list_size, (fail_val)); \ \ } else { \ H5C__AUX_DLL_REMOVE((entry_ptr), \ (cache_ptr)->cLRU_head_ptr, \ (cache_ptr)->cLRU_tail_ptr, \ (cache_ptr)->cLRU_list_len, \ - (cache_ptr)->cLRU_list_size, (fail_val)) \ + (cache_ptr)->cLRU_list_size, (fail_val)); \ } \ \ /* Insert the entry at the head of either the clean or dirty \ @@ -1285,17 +1319,18 @@ do { \ (cache_ptr)->dLRU_head_ptr, \ (cache_ptr)->dLRU_tail_ptr, \ (cache_ptr)->dLRU_list_len, \ - (cache_ptr)->dLRU_list_size, (fail_val)) \ + (cache_ptr)->dLRU_list_size, (fail_val)); \ } else { \ H5C__AUX_DLL_PREPEND((entry_ptr), \ (cache_ptr)->cLRU_head_ptr, \ (cache_ptr)->cLRU_tail_ptr, \ (cache_ptr)->cLRU_list_len, \ - (cache_ptr)->cLRU_list_size, (fail_val)) \ + (cache_ptr)->cLRU_list_size, (fail_val)); \ } \ -} /* H5C__UPDATE_RP_FOR_MOVE_CD_LRU() */ +} while (0) /* H5C__UPDATE_RP_FOR_MOVE_CD_LRU() */ + #define H5C__UPDATE_RP_FOR_SIZE_CHANGE_CD_LRU(cache_ptr, entry_ptr, new_size, fail_val) \ -{ \ +do { \ /* Update the size of the clean or dirty LRU list as \ * appropriate. \ */ \ @@ -1311,9 +1346,10 @@ do { \ (entry_ptr)->size, \ (new_size), (fail_val)) \ } \ -} /* H5C__UPDATE_RP_FOR_SIZE_CHANGE_CD_LRU() */ +} while (0) /* H5C__UPDATE_RP_FOR_SIZE_CHANGE_CD_LRU() */ + #define H5C__UPDATE_RP_FOR_UNPIN_CD_LRU(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ /* Insert the entry at the head of either the clean \ * or dirty LRU list as appropriate. \ */ \ @@ -1330,9 +1366,10 @@ do { \ (cache_ptr)->cLRU_list_len, \ (cache_ptr)->cLRU_list_size, (fail_val)) \ } \ -} /* H5C__UPDATE_RP_FOR_UNPIN_CD_LRU() */ +} while (0) /* H5C__UPDATE_RP_FOR_UNPIN_CD_LRU() */ + #define H5C__UPDATE_RP_FOR_UNPROTECT_CD_LRU(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ /* Insert the entry at the head of either the clean or \ * dirty LRU list as appropriate. \ */ \ @@ -1347,7 +1384,7 @@ do { \ (cache_ptr)->cLRU_list_len, \ (cache_ptr)->cLRU_list_size, (fail_val)) \ } \ -} /* H5C__UPDATE_RP_FOR_UNPROTECT_CD_LRU() */ +} while (0) /* H5C__UPDATE_RP_FOR_UNPROTECT_CD_LRU() */ #else /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */ @@ -1374,7 +1411,7 @@ do { \ */ #define H5C__UPDATE_RP_FOR_EVICTION(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ assert(cache_ptr); \ assert(entry_ptr); \ assert(!(entry_ptr)->is_protected); \ @@ -1389,8 +1426,8 @@ do { \ (cache_ptr)->LRU_list_size, (fail_val)) \ \ /* Remove the entry from the clean & dirty LRU lists, if enabled */ \ - H5C__UPDATE_RP_FOR_EVICTION_CD_LRU(cache_ptr, entry_ptr, fail_val) \ -} /* H5C__UPDATE_RP_FOR_EVICTION */ + H5C__UPDATE_RP_FOR_EVICTION_CD_LRU(cache_ptr, entry_ptr, fail_val); \ +} while (0) /* H5C__UPDATE_RP_FOR_EVICTION */ /*------------------------------------------------------------------------- @@ -1404,7 +1441,7 @@ do { \ */ #define H5C__UPDATE_RP_FOR_FLUSH(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ assert(cache_ptr); \ assert(entry_ptr); \ assert(!(entry_ptr)->is_protected); \ @@ -1427,9 +1464,9 @@ do { \ (cache_ptr)->LRU_list_size, (fail_val)) \ \ /* Maintain the clean & dirty LRU lists, if enabled */ \ - H5C__UPDATE_RP_FOR_FLUSH_CD_LRU(cache_ptr, entry_ptr, fail_val) \ + H5C__UPDATE_RP_FOR_FLUSH_CD_LRU(cache_ptr, entry_ptr, fail_val); \ } \ -} /* H5C__UPDATE_RP_FOR_FLUSH */ +} while (0) /* H5C__UPDATE_RP_FOR_FLUSH */ /*------------------------------------------------------------------------- @@ -1468,7 +1505,7 @@ do { \ (cache_ptr)->LRU_list_size, (fail_val)) \ \ /* Maintain the clean & dirty LRU lists, if enabled */ \ - H5C__UPDATE_RP_FOR_INSERT_APPEND_CD_LRU(cache_ptr, entry_ptr, fail_val) \ + H5C__UPDATE_RP_FOR_INSERT_APPEND_CD_LRU(cache_ptr, entry_ptr, fail_val); \ } \ } while (0) @@ -1483,32 +1520,32 @@ do { \ *------------------------------------------------------------------------- */ -#define H5C__UPDATE_RP_FOR_INSERTION(cache_ptr, entry_ptr, fail_val) \ -{ \ - assert(cache_ptr); \ - assert(entry_ptr); \ - assert(!(entry_ptr)->is_protected); \ - assert(!(entry_ptr)->is_read_only); \ - assert((entry_ptr)->ro_ref_count == 0); \ - assert((entry_ptr)->size > 0); \ - \ - if((entry_ptr)->is_pinned) { \ - H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->pel_head_ptr, \ - (cache_ptr)->pel_tail_ptr, \ - (cache_ptr)->pel_len, \ - (cache_ptr)->pel_size, (fail_val)) \ - \ - } else { \ - /* Insert the entry at the head of the LRU list. */ \ - H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, \ - (cache_ptr)->LRU_tail_ptr, \ - (cache_ptr)->LRU_list_len, \ - (cache_ptr)->LRU_list_size, (fail_val)) \ - \ - /* Maintain the clean & dirty LRU lists, if enabled */ \ - H5C__UPDATE_RP_FOR_INSERTION_CD_LRU(cache_ptr, entry_ptr, fail_val) \ - } \ -} +#define H5C__UPDATE_RP_FOR_INSERTION(cache_ptr, entry_ptr, fail_val) \ +do { \ + assert(cache_ptr); \ + assert(entry_ptr); \ + assert(!(entry_ptr)->is_protected); \ + assert(!(entry_ptr)->is_read_only); \ + assert((entry_ptr)->ro_ref_count == 0); \ + assert((entry_ptr)->size > 0); \ + \ + if((entry_ptr)->is_pinned) { \ + H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->pel_head_ptr, \ + (cache_ptr)->pel_tail_ptr, \ + (cache_ptr)->pel_len, \ + (cache_ptr)->pel_size, (fail_val)) \ + \ + } else { \ + /* Insert the entry at the head of the LRU list. */ \ + H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, \ + (cache_ptr)->LRU_tail_ptr, \ + (cache_ptr)->LRU_list_len, \ + (cache_ptr)->LRU_list_size, (fail_val)) \ + \ + /* Maintain the clean & dirty LRU lists, if enabled */ \ + H5C__UPDATE_RP_FOR_INSERTION_CD_LRU(cache_ptr, entry_ptr, fail_val); \ + } \ +} while (0) /*------------------------------------------------------------------------- @@ -1526,39 +1563,39 @@ do { \ *------------------------------------------------------------------------- */ -#define H5C__UPDATE_RP_FOR_PROTECT(cache_ptr, entry_ptr, fail_val) \ -{ \ - assert(cache_ptr); \ - assert(entry_ptr); \ - assert(!(entry_ptr)->is_protected); \ - assert(!(entry_ptr)->is_read_only); \ - assert((entry_ptr)->ro_ref_count == 0); \ - assert((entry_ptr)->size > 0); \ - \ - if((entry_ptr)->is_pinned) { \ - H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->pel_head_ptr, \ - (cache_ptr)->pel_tail_ptr, \ - (cache_ptr)->pel_len, \ - (cache_ptr)->pel_size, (fail_val)) \ - } else { \ - /* Remove the entry from the LRU list. */ \ - H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->LRU_head_ptr, \ - (cache_ptr)->LRU_tail_ptr, \ - (cache_ptr)->LRU_list_len, \ - (cache_ptr)->LRU_list_size, (fail_val)) \ - \ - /* Maintain the clean & dirty LRU lists, if enabled */ \ - H5C__UPDATE_RP_FOR_PROTECT_CD_LRU(cache_ptr, entry_ptr, fail_val) \ - } \ - \ - /* Regardless of whether the entry is pinned, add it to the protected \ - * list. \ - */ \ - H5C__DLL_APPEND((entry_ptr), (cache_ptr)->pl_head_ptr, \ - (cache_ptr)->pl_tail_ptr, \ - (cache_ptr)->pl_len, \ - (cache_ptr)->pl_size, (fail_val)) \ -} /* H5C__UPDATE_RP_FOR_PROTECT */ +#define H5C__UPDATE_RP_FOR_PROTECT(cache_ptr, entry_ptr, fail_val) \ +do { \ + assert(cache_ptr); \ + assert(entry_ptr); \ + assert(!(entry_ptr)->is_protected); \ + assert(!(entry_ptr)->is_read_only); \ + assert((entry_ptr)->ro_ref_count == 0); \ + assert((entry_ptr)->size > 0); \ + \ + if((entry_ptr)->is_pinned) { \ + H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->pel_head_ptr, \ + (cache_ptr)->pel_tail_ptr, \ + (cache_ptr)->pel_len, \ + (cache_ptr)->pel_size, (fail_val)) \ + } else { \ + /* Remove the entry from the LRU list. */ \ + H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->LRU_head_ptr, \ + (cache_ptr)->LRU_tail_ptr, \ + (cache_ptr)->LRU_list_len, \ + (cache_ptr)->LRU_list_size, (fail_val)) \ + \ + /* Maintain the clean & dirty LRU lists, if enabled */ \ + H5C__UPDATE_RP_FOR_PROTECT_CD_LRU(cache_ptr, entry_ptr, fail_val); \ + } \ + \ + /* Regardless of whether the entry is pinned, add it to the protected \ + * list. \ + */ \ + H5C__DLL_APPEND((entry_ptr), (cache_ptr)->pl_head_ptr, \ + (cache_ptr)->pl_tail_ptr, \ + (cache_ptr)->pl_len, \ + (cache_ptr)->pl_size, (fail_val)) \ +} while (0) /* H5C__UPDATE_RP_FOR_PROTECT */ /*------------------------------------------------------------------------- @@ -1593,7 +1630,7 @@ do { \ (cache_ptr)->LRU_list_size, (fail_val)) \ \ /* Maintain the clean & dirty LRU lists, if enabled */ \ - H5C__UPDATE_RP_FOR_MOVE_CD_LRU(cache_ptr, entry_ptr, was_dirty, fail_val) \ + H5C__UPDATE_RP_FOR_MOVE_CD_LRU(cache_ptr, entry_ptr, was_dirty, fail_val); \ } \ } while (0) /* H5C__UPDATE_RP_FOR_MOVE */ @@ -1621,7 +1658,7 @@ do { \ #ifdef H5_HAVE_PARALLEL #define H5C__UPDATE_RP_FOR_SIZE_CHANGE_COLL(cache_ptr, entry_ptr, new_size, fail_val) \ -{ \ +do { \ if((entry_ptr)->coll_access) { \ H5C__DLL_UPDATE_FOR_SIZE_CHANGE((cache_ptr)->coll_list_len, \ (cache_ptr)->coll_list_size, \ @@ -1629,7 +1666,7 @@ do { \ (new_size), (fail_val)); \ \ } \ -} /* H5C__UPDATE_RP_FOR_SIZE_CHANGE_COLL() */ +} while (0) /* H5C__UPDATE_RP_FOR_SIZE_CHANGE_COLL() */ #else /* H5_HAVE_PARALLEL */ @@ -1638,7 +1675,7 @@ do { \ #endif /* H5_HAVE_PARALLEL */ #define H5C__UPDATE_RP_FOR_SIZE_CHANGE(cache_ptr, entry_ptr, new_size, fail_val) \ -{ \ +do { \ assert(cache_ptr); \ assert(entry_ptr); \ assert(!(entry_ptr)->is_protected); \ @@ -1648,7 +1685,7 @@ do { \ assert(new_size > 0 ); \ \ /* Maintain the collective access list, if enabled */ \ - H5C__UPDATE_RP_FOR_SIZE_CHANGE_COLL(cache_ptr, entry_ptr, new_size, fail_val) \ + H5C__UPDATE_RP_FOR_SIZE_CHANGE_COLL(cache_ptr, entry_ptr, new_size, fail_val); \ \ if((entry_ptr)->is_pinned) { \ H5C__DLL_UPDATE_FOR_SIZE_CHANGE((cache_ptr)->pel_len, \ @@ -1663,9 +1700,9 @@ do { \ (new_size), (fail_val)) \ \ /* Maintain the clean & dirty LRU lists, if enabled */ \ - H5C__UPDATE_RP_FOR_SIZE_CHANGE_CD_LRU(cache_ptr, entry_ptr, new_size, fail_val) \ + H5C__UPDATE_RP_FOR_SIZE_CHANGE_CD_LRU(cache_ptr, entry_ptr, new_size, fail_val); \ } \ -} /* H5C__UPDATE_RP_FOR_SIZE_CHANGE */ +} while (0) /* H5C__UPDATE_RP_FOR_SIZE_CHANGE */ /*------------------------------------------------------------------------- @@ -1683,7 +1720,7 @@ do { \ */ #define H5C__UPDATE_RP_FOR_UNPIN(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ assert(cache_ptr); \ assert(entry_ptr); \ assert(!(entry_ptr)->is_protected); \ @@ -1697,17 +1734,17 @@ do { \ */ \ H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->pel_head_ptr, \ (cache_ptr)->pel_tail_ptr, (cache_ptr)->pel_len, \ - (cache_ptr)->pel_size, (fail_val)) \ + (cache_ptr)->pel_size, (fail_val)); \ \ /* Insert the entry at the head of the LRU list. */ \ H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, \ (cache_ptr)->LRU_tail_ptr, \ (cache_ptr)->LRU_list_len, \ - (cache_ptr)->LRU_list_size, (fail_val)) \ + (cache_ptr)->LRU_list_size, (fail_val)); \ \ /* Maintain the clean & dirty LRU lists, if enabled */ \ - H5C__UPDATE_RP_FOR_UNPIN_CD_LRU(cache_ptr, entry_ptr, fail_val) \ -} /* H5C__UPDATE_RP_FOR_UNPIN */ + H5C__UPDATE_RP_FOR_UNPIN_CD_LRU(cache_ptr, entry_ptr, fail_val); \ +} while(0) /* H5C__UPDATE_RP_FOR_UNPIN */ /*------------------------------------------------------------------------- @@ -1751,7 +1788,7 @@ do { \ (cache_ptr)->LRU_list_size, (fail_val)) \ \ /* Maintain the clean & dirty LRU lists, if enabled */ \ - H5C__UPDATE_RP_FOR_UNPROTECT_CD_LRU(cache_ptr, entry_ptr, fail_val) \ + H5C__UPDATE_RP_FOR_UNPROTECT_CD_LRU(cache_ptr, entry_ptr, fail_val); \ } \ } while (0) /* H5C__UPDATE_RP_FOR_UNPROTECT */ @@ -1775,7 +1812,7 @@ do { \ */ #define H5C__INSERT_IN_COLL_LIST(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ assert(cache_ptr); \ assert(entry_ptr); \ \ @@ -1784,7 +1821,7 @@ do { \ (cache_ptr)->coll_tail_ptr, \ (cache_ptr)->coll_list_len, \ (cache_ptr)->coll_list_size, (fail_val)) \ -} /* H5C__INSERT_IN_COLL_LIST */ +} while (0) /* H5C__INSERT_IN_COLL_LIST */ /*------------------------------------------------------------------------- @@ -1797,7 +1834,7 @@ do { \ */ #define H5C__REMOVE_FROM_COLL_LIST(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ assert(cache_ptr); \ assert(entry_ptr); \ \ @@ -1806,7 +1843,7 @@ do { \ (cache_ptr)->coll_tail_ptr, \ (cache_ptr)->coll_list_len, \ (cache_ptr)->coll_list_size, (fail_val)) \ -} /* H5C__REMOVE_FROM_COLL_LIST */ +} while (0) /* H5C__REMOVE_FROM_COLL_LIST */ /*------------------------------------------------------------------------- @@ -1819,7 +1856,7 @@ do { \ */ #define H5C__MOVE_TO_TOP_IN_COLL_LIST(cache_ptr, entry_ptr, fail_val) \ -{ \ +do { \ assert(cache_ptr); \ assert(entry_ptr); \ \ @@ -1834,7 +1871,7 @@ do { \ (cache_ptr)->coll_list_len, \ (cache_ptr)->coll_list_size, (fail_val)) \ \ -} /* H5C__MOVE_TO_TOP_IN_COLL_LIST */ +} while (0) /* H5C__MOVE_TO_TOP_IN_COLL_LIST */ #endif /* H5_HAVE_PARALLEL */ |