mirror of https://gitee.com/openkylin/qemu.git
qemu/compiler: Split out qemu_build_not_reached_always
Provide a symbol that can always be used to signal an error, regardless of optimization. Usage of this should be protected by e.g. __builtin_constant_p, which guards for optimization. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
bfff072c50
commit
c52ea111e0
|
@ -215,9 +215,10 @@
|
||||||
* supports QEMU_ERROR, this will be reported at compile time; otherwise
|
* supports QEMU_ERROR, this will be reported at compile time; otherwise
|
||||||
* this will be reported at link time due to the missing symbol.
|
* this will be reported at link time due to the missing symbol.
|
||||||
*/
|
*/
|
||||||
#if defined(__OPTIMIZE__) && !defined(__NO_INLINE__)
|
|
||||||
extern void QEMU_NORETURN QEMU_ERROR("code path is reachable")
|
extern void QEMU_NORETURN QEMU_ERROR("code path is reachable")
|
||||||
qemu_build_not_reached(void);
|
qemu_build_not_reached_always(void);
|
||||||
|
#if defined(__OPTIMIZE__) && !defined(__NO_INLINE__)
|
||||||
|
#define qemu_build_not_reached() qemu_build_not_reached_always()
|
||||||
#else
|
#else
|
||||||
#define qemu_build_not_reached() g_assert_not_reached()
|
#define qemu_build_not_reached() g_assert_not_reached()
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue