https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125699
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Andrew Pinski <[email protected]>: https://gcc.gnu.org/g:225fb1e771972091445019f490b9a487b8b821fb commit r17-1463-g225fb1e771972091445019f490b9a487b8b821fb 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]>
