summaryrefslogtreecommitdiffstats
path: root/src/H5Cprivate.h
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2023-03-20 22:39:21 (GMT)
committerGitHub <noreply@github.com>2023-03-20 22:39:21 (GMT)
commitfd5d0944e23d0ba966e7244f9e3314b84cc45f30 (patch)
treeec7c054083dec36e454bcb203f8c11f08e18527e /src/H5Cprivate.h
parentb766e5f96f26805e8c92e718a05f42d073912711 (diff)
downloadhdf5-fd5d0944e23d0ba966e7244f9e3314b84cc45f30.zip
hdf5-fd5d0944e23d0ba966e7244f9e3314b84cc45f30.tar.gz
hdf5-fd5d0944e23d0ba966e7244f9e3314b84cc45f30.tar.bz2
[1.10 Merge] Add Developer build mode to CMake (#2617)
* Add Developer build mode to CMake (#1659) * Add Developer build mode to CMake * Set a few CMake variables for Developer build modes * Refactor enabling of debug and developer-level compile definitions * Convert cache debugging macros to normal ifdef style Normal ifdef-style instead of if-style allows build system to define macros without warning about redefining macros with different values (0 vs. 1) * Add HDF5 Developer compile definitions to testing files * Temporarily disable -fanalyzer flag for GCC 12+ Developer builds * Fix Java tests for Developer build modes (#2079) * Minor adjustment of Developer build mode changes for 1.10 branch
Diffstat (limited to 'src/H5Cprivate.h')
-rw-r--r--src/H5Cprivate.h32
1 files changed, 18 insertions, 14 deletions
diff --git a/src/H5Cprivate.h b/src/H5Cprivate.h
index 5d5f9ca..e7513f9 100644
--- a/src/H5Cprivate.h
+++ b/src/H5Cprivate.h
@@ -206,20 +206,24 @@
#define H5C__UPDATE_PAGE_BUFFER_FLAG 0x40000 /* Set during parallel I/O */
/* Debugging/sanity checking/statistics settings */
-#ifndef NDEBUG
-#define H5C_DO_SANITY_CHECKS 1
-#define H5C_DO_SLIST_SANITY_CHECKS 0
-#define H5C_DO_TAGGING_SANITY_CHECKS 1
-#define H5C_DO_EXTREME_SANITY_CHECKS 0
-#else /* NDEBUG */
-/* With rare exceptions, the following defines should be set
- * to 0 if NDEBUG is defined
+/* #define H5C_DO_SANITY_CHECKS */
+/* #define H5C_DO_SLIST_SANITY_CHECKS */
+/* #define H5C_DO_TAGGING_SANITY_CHECKS */
+/* #define H5C_DO_EXTREME_SANITY_CHECKS */
+
+/*
+ * If not already set externally (e.g., from the build
+ * system), set a few debugging options for debug builds.
*/
-#define H5C_DO_SANITY_CHECKS 0
-#define H5C_DO_SLIST_SANITY_CHECKS 0
-#define H5C_DO_TAGGING_SANITY_CHECKS 0
-#define H5C_DO_EXTREME_SANITY_CHECKS 0
-#endif /* NDEBUG */
+#ifndef NDEBUG
+#ifndef H5C_DO_SANITY_CHECKS
+#define H5C_DO_SANITY_CHECKS
+#endif
+
+#ifndef H5C_DO_TAGGING_SANITY_CHECKS
+#define H5C_DO_TAGGING_SANITY_CHECKS
+#endif
+#endif
/* Cork actions: cork/uncork/get cork status of an object */
#define H5C__SET_CORK 0x1
@@ -2236,7 +2240,7 @@ H5_DLL herr_t H5C_force_cache_image_load(H5F_t *f);
H5_DLL herr_t H5C_evict_tagged_entries(H5F_t *f, haddr_t tag, hbool_t match_global);
H5_DLL herr_t H5C_expunge_tag_type_metadata(H5F_t *f, haddr_t tag, int type_id, unsigned flags);
H5_DLL herr_t H5C_get_tag(const void *thing, /*OUT*/ haddr_t *tag);
-#if H5C_DO_TAGGING_SANITY_CHECKS
+#ifdef H5C_DO_TAGGING_SANITY_CHECKS
herr_t H5C_verify_tag(int id, haddr_t tag);
#endif
H5_DLL herr_t H5C_flush_to_min_clean(H5F_t *f);