https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102106
--- Comment #2 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> --- There is only one call to free() generated, and it is called on an address that does not point to allocated memory, so it should not be too hard to determine what is happening.