Hi
I got this warning/error when switching to F38: In file included from /mnt/code/qemu/full/include/block/aio.h:21, from ../../../../mnt/code/qemu/full/util/async.c:28: ../../../../mnt/code/qemu/full/util/async.c: In function ‘aio_bh_poll’: /mnt/code/qemu/full/include/qemu/queue.h:303:22: error: storing the address of local variable ‘slice’ in ‘*ctx.bh_slice_list.sqh_last’ [-Werror=dangling-pointer=] 303 | (head)->sqh_last = &(elm)->field.sqe_next; \ | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../../../../mnt/code/qemu/full/util/async.c:167:5: note: in expansion of macro ‘QSIMPLEQ_INSERT_TAIL’ 167 | QSIMPLEQ_INSERT_TAIL(&ctx->bh_slice_list, &slice, next); | ^~~~~~~~~~~~~~~~~~~~ ../../../../mnt/code/qemu/full/util/async.c:161:17: note: ‘slice’ declared here 161 | BHListSlice slice; | ^~~~~ ../../../../mnt/code/qemu/full/util/async.c:161:17: note: ‘ctx’ declared here cc1: all warnings being treated as errors compiler is right that slice is a local variable. on the other hand, I *think* that the list is fully consumed on that function, so this shouldn't be a problem. g_new() is a posibility. I can't think of an easy way to convince gcc that using a local varible there is correct. How to go from here? Any good ideas? Later, Juan.