From: Andrew MacLeod Date: Tue, 30 Nov 2021 00:53:50 +0000 (-0500) Subject: Don't reuse reference after potential resize. X-Git-Tag: basepoints/gcc-13~2726 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab202b659dbdfd3a1f45ffe7a5052f35b5e8fa6d;p=thirdparty%2Fgcc.git Don't reuse reference after potential resize. When a new def chain is requested, any existing reference may no longer be valid, so just use the object directly. PR tree-optimization/103467 * gimple-range-gori.cc (range_def_chain::register_dependency): Don't use an object reference after a potential resize. --- diff --git a/gcc/gimple-range-gori.cc b/gcc/gimple-range-gori.cc index 911d7ac4ec8b..0dba34b58c5d 100644 --- a/gcc/gimple-range-gori.cc +++ b/gcc/gimple-range-gori.cc @@ -278,11 +278,12 @@ range_def_chain::register_dependency (tree name, tree dep, basic_block bb) { // Get the def chain for the operand. b = get_def_chain (dep); - // If there was one, copy it into result. + // If there was one, copy it into result. Access def_chain directly + // as the get_def_chain request above could reallocate the vector. if (b) - bitmap_ior_into (src.bm, b); + bitmap_ior_into (m_def_chain[v].bm, b); // And copy the import list. - set_import (src, NULL_TREE, get_imports (dep)); + set_import (m_def_chain[v], NULL_TREE, get_imports (dep)); } else // Originated outside the block, so it is an import.