aboutsummaryrefslogtreecommitdiff
path: root/libctf/ctf-impl.h
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2020-06-05 18:38:03 +0100
committerNick Alcock <nick.alcock@oracle.com>2020-07-22 18:02:19 +0100
commita9b9870206658564272fe17d2079ed9eb6ffb15f (patch)
tree8c0d078b5ad067def1b1283624ae5200e41cf507 /libctf/ctf-impl.h
parent1f2e8b5b87df91a0b8ff76fab75538dfcc2478f5 (diff)
downloadbinutils-a9b9870206658564272fe17d2079ed9eb6ffb15f.zip
binutils-a9b9870206658564272fe17d2079ed9eb6ffb15f.tar.gz
binutils-a9b9870206658564272fe17d2079ed9eb6ffb15f.tar.bz2
libctf, dedup: add new configure option --enable-libctf-hash-debugging
Add a new debugging configure option, --enable-libctf-hash-debugging, off by default, which lets you configure in expensive internal consistency checks and enable the printing of debugging output when LIBCTF_DEBUG=t before type deduplication has happened. In this commit we just add the option and cause it to turn ctf_assert into a real, hard assert for easier debugging. libctf/ * configure.ac: Add --enable-libctf-hash-debugging. * aclocal.m4: Pull in enable.m4, for GCC_ENABLE. * Makefile.in: Regenerated. * configure: Likewise. * config.h.in: Likewise. * ctf-impl.h [ENABLE_LIBCTF_HASH_DEBUGGING] (ctf_assert): Define to assert.
Diffstat (limited to 'libctf/ctf-impl.h')
-rw-r--r--libctf/ctf-impl.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/libctf/ctf-impl.h b/libctf/ctf-impl.h
index 9c5f7ba..c2fcc92 100644
--- a/libctf/ctf-impl.h
+++ b/libctf/ctf-impl.h
@@ -71,9 +71,14 @@ extern "C"
#endif
+#if defined (ENABLE_LIBCTF_HASH_DEBUGGING) && !defined (NDEBUG)
+#include <assert.h>
+#define ctf_assert(fp, expr) (assert (expr), 1)
+#else
#define ctf_assert(fp, expr) \
_libctf_unlikely_ (ctf_assert_internal (fp, __FILE__, __LINE__, \
#expr, !!(expr)))
+#endif
/* libctf in-memory state. */