mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 09:40:25 +02:00
Merged Whippet into libguile/whippet
This commit is contained in:
commit
db181e67ff
112 changed files with 18115 additions and 0 deletions
21
libguile/whippet/api/gc-assert.h
Normal file
21
libguile/whippet/api/gc-assert.h
Normal file
|
@ -0,0 +1,21 @@
|
|||
#ifndef GC_ASSERT_H
|
||||
#define GC_ASSERT_H
|
||||
|
||||
#include "gc-config.h"
|
||||
|
||||
#define GC_UNLIKELY(e) __builtin_expect(e, 0)
|
||||
#define GC_LIKELY(e) __builtin_expect(e, 1)
|
||||
|
||||
#define GC_CRASH() __builtin_trap()
|
||||
|
||||
#if GC_DEBUG
|
||||
#define GC_ASSERT(x) do { if (GC_UNLIKELY(!(x))) GC_CRASH(); } while (0)
|
||||
#define GC_UNREACHABLE() GC_CRASH()
|
||||
#else
|
||||
#define GC_ASSERT(x) do { } while (0)
|
||||
#define GC_UNREACHABLE() __builtin_unreachable()
|
||||
#endif
|
||||
|
||||
#define GC_ASSERT_EQ(a, b) GC_ASSERT((a) == (b))
|
||||
|
||||
#endif // GC_ASSERT_H
|
Loading…
Add table
Add a link
Reference in a new issue