https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125699
--- Comment #16 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-13 branch has been updated by Andrew Pinski <[email protected]>: https://gcc.gnu.org/g:5638079de5902d17689f12e8f25d6d1eecc85702 commit r13-10374-g5638079de5902d17689f12e8f25d6d1eecc85702 Author: Andrew Pinski <[email protected]> Date: Tue Jun 9 18:12:52 2026 -0700 ipa: Fix lifetime issue with hash_map::put in prepare_debug_expressions [PR125699] Here the code was originally: tree *d = m_dead_ssa_debug_equiv.get (value); m_dead_ssa_debug_equiv.put (dead_ssa, *d); but hash_map::put's 2nd argument is a reference. So if the hashmap decides it needs to resize, the argument is freed. So the fix is simple change the type of d to tree and dereference the get. Since tree is a pointer there is not enough data to care about the extra copy. r12-5630-gb3f60112edcb85 was a similar fix in the same function in fact. Pushed as obvious after a bootstrapped and tested on x86_64-linux-gnu. PR ipa/125699 gcc/ChangeLog: * ipa-param-manipulation.cc (ipa_param_body_adjustments::prepare_debug_expressions): Fix lifetime issue with m_dead_ssa_debug_equiv usage. Signed-off-by: Andrew Pinski <[email protected]> (cherry picked from commit 225fb1e771972091445019f490b9a487b8b821fb)
