queue: fix QTAILQ_FOREACH_REVERSE_SAFE
The iteration was stopping as soon as prev_var was set to NULL, and therefore it skipped the first element. Fortunately, or unfortunately, we have only one use of QTAILQ_FOREACH_REVERSE_SAFE. Thus this only showed up as incorrect register preferences on the very first translation block that was compiled. Reported-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Emilio G. Cota <cota@braap.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
5685349864
commit
5ed76a4c63
@ -439,7 +439,7 @@ union { \
|
||||
|
||||
#define QTAILQ_FOREACH_REVERSE_SAFE(var, head, field, prev_var) \
|
||||
for ((var) = QTAILQ_LAST(head); \
|
||||
(var) && ((prev_var) = QTAILQ_PREV(var, field)); \
|
||||
(var) && ((prev_var) = QTAILQ_PREV(var, field), 1); \
|
||||
(var) = (prev_var))
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user