mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-14 12:07:25 +00:00
tcg: Add tcg_debug_assert
Like the C assert macro, except only enabled for CONFIG_DEBUG_TCG, and without having to set _NDEBUG and disable all other asserts at the same time. The use of __builtin_unreachable (when available) gives the compiler the same information, which may (or may not) help it optimize better. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
77276f6581
commit
c552d6c038
@ -530,6 +530,15 @@ do {\
|
|||||||
abort();\
|
abort();\
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
#ifdef CONFIG_DEBUG_TCG
|
||||||
|
# define tcg_debug_assert(X) do { assert(X); } while (0)
|
||||||
|
#elif QEMU_GNUC_PREREQ(4, 5)
|
||||||
|
# define tcg_debug_assert(X) \
|
||||||
|
do { if (!(X)) { __builtin_unreachable(); } } while (0)
|
||||||
|
#else
|
||||||
|
# define tcg_debug_assert(X) do { (void)(X); } while (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
void tcg_add_target_add_op_defs(const TCGTargetOpDef *tdefs);
|
void tcg_add_target_add_op_defs(const TCGTargetOpDef *tdefs);
|
||||||
|
|
||||||
#if TCG_TARGET_REG_BITS == 32
|
#if TCG_TARGET_REG_BITS == 32
|
||||||
|
Loading…
Reference in New Issue
Block a user