https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104069
--- Comment #20 from Martin Sebor <msebor at gcc dot gnu.org> --- This warning, like all others, is meant to help find common bugs in ordinary code. It shouldn't be expected to reflect implementation-defined behavior or to be free of false positives. Tricky code that tries to work around implementation specifics or divergences might be better off suppressing it using a #pragma. Now that pragma suppression works reliably with inlining it should be straightforward to do. Since -Wuse-after-free is a multi-level warning and this instance triggers only at level 2 ("may be used"), for code that can't be changed I suggest reducing the level to 1 on the command line.