From: Jan Hubicka Date: Mon, 8 Nov 2021 17:58:03 +0000 (+0100) Subject: Remove workaround allowing interposition of nested functions. X-Git-Tag: basepoints/gcc-13~3306 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d44d791012efda1f48ed647d1d3a1538d15d4e19;p=thirdparty%2Fgcc.git Remove workaround allowing interposition of nested functions. * gimple.c (gimple_call_static_chain_flags): Revert the workaround allowing interposition since issues with binds_to_local_def were hopefully solved. --- diff --git a/gcc/gimple.c b/gcc/gimple.c index 3d1d3a15b2c6..9e65fa61c732 100644 --- a/gcc/gimple.c +++ b/gcc/gimple.c @@ -1645,13 +1645,13 @@ gimple_call_static_chain_flags (const gcall *stmt) modref_summary *summary = node ? get_modref_function_summary (node) : NULL; + /* Nested functions should always bind to current def since + there is no public ABI for them. */ + gcc_checking_assert (node->binds_to_current_def_p ()); if (summary) { int modref_flags = summary->static_chain_flags; - /* ??? Nested functions should always bind to current def. */ - if (!node->binds_to_current_def_p ()) - modref_flags = interposable_eaf_flags (modref_flags, flags); if (dbg_cnt (ipa_mod_ref_pta)) flags |= modref_flags; }