After the WITH_QEMU_LOCK_GUARD macro is added, the compiler cannot identify that the statements in the macro must be executed. As a result, some variables assignment statements in the macro may be considered as unexecuted by the compiler.
The compiler showed warning: util/qemu-timer.c: In function ‘timer_mod_anticipate_ns’: util/qemu-timer.c:474:8: warning: ‘rearm’ may be used uninitialized in this function [-Wmaybe-uninitialized] 474 | if (rearm) { | ^ Change the default value assignment place to prevented the warning. Reported-by: Euler Robot <euler.ro...@huawei.com> Signed-off-by: Chen Qun <kuhn.chen...@huawei.com> --- Cc: Paolo Bonzini <pbonz...@redhat.com> --- util/qemu-timer.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/util/qemu-timer.c b/util/qemu-timer.c index 81c28af517..8b73882fbb 100644 --- a/util/qemu-timer.c +++ b/util/qemu-timer.c @@ -459,7 +459,7 @@ void timer_mod_ns(QEMUTimer *ts, int64_t expire_time) void timer_mod_anticipate_ns(QEMUTimer *ts, int64_t expire_time) { QEMUTimerList *timer_list = ts->timer_list; - bool rearm; + bool rearm = false; WITH_QEMU_LOCK_GUARD(&timer_list->active_timers_lock) { if (ts->expire_time == -1 || ts->expire_time > expire_time) { @@ -467,8 +467,6 @@ void timer_mod_anticipate_ns(QEMUTimer *ts, int64_t expire_time) timer_del_locked(timer_list, ts); } rearm = timer_mod_ns_locked(timer_list, ts, expire_time); - } else { - rearm = false; } } if (rearm) { -- 2.27.0