On 3/21/23 13:16, Cédric Le Goater wrote:
+ /* + * GCC13 [-Werror=dangling-pointer=] complains that the local variable + * 'slice' is being stored in the global list 'ctx->bh_slice_list'. + */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdangling-pointer=" QSIMPLEQ_INSERT_TAIL(&ctx->bh_slice_list, &slice, next); +#pragma GCC diagnostic pop while ((s = QSIMPLEQ_FIRST(&ctx->bh_slice_list))) { QEMUBH *bh;
Yeah, that's clearer. Maybe even add "but the list is emptied before this function returns".
May be that's more explicit. I wonder if we need to ifdef clang also.
I think clang understand the GCC pragma as well. Paolo