tcg: Adjust TCGContext.temps_in_use check

Change the temps_in_use check to use assert not fprintf.
Move the assert for double-free before the check for count,
since that is the more immediate problem.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2023-01-28 13:05:14 -10:00
parent 640be074fa
commit 0ef3d7045b

View File

@ -1374,16 +1374,14 @@ void tcg_temp_free_internal(TCGTemp *ts)
g_assert_not_reached();
}
#if defined(CONFIG_DEBUG_TCG)
s->temps_in_use--;
if (s->temps_in_use < 0) {
fprintf(stderr, "More temporaries freed than allocated!\n");
}
#endif
tcg_debug_assert(ts->temp_allocated != 0);
ts->temp_allocated = 0;
#if defined(CONFIG_DEBUG_TCG)
assert(s->temps_in_use > 0);
s->temps_in_use--;
#endif
idx = temp_idx(ts);
k = ts->base_type + (ts->kind == TEMP_NORMAL ? 0 : TCG_TYPE_COUNT);
set_bit(idx, s->free_temps[k].l);