include/qemu/osdep: Add qemu_build_assert
This differs from assert, in that with optimization enabled it triggers at build-time. It differs from QEMU_BUILD_BUG_ON, aka _Static_assert, in that it is sensitive to control flow and is subject to dead-code elimination. Acked-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
69993c4e62
commit
d44e3737f9
@ -186,6 +186,14 @@ void QEMU_ERROR("code path is reachable")
|
|||||||
#define qemu_build_not_reached() g_assert_not_reached()
|
#define qemu_build_not_reached() g_assert_not_reached()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* qemu_build_assert()
|
||||||
|
*
|
||||||
|
* The compiler, during optimization, is expected to prove that the
|
||||||
|
* assertion is true.
|
||||||
|
*/
|
||||||
|
#define qemu_build_assert(test) while (!(test)) qemu_build_not_reached()
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* According to waitpid man page:
|
* According to waitpid man page:
|
||||||
* WCOREDUMP
|
* WCOREDUMP
|
||||||
|
Loading…
x
Reference in New Issue
Block a user