https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117350
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason at gcc dot gnu.org
--- Comment #20 from Jason Merrill <jason at gcc dot gnu.org> ---
The problem seems to be
/* Abstract decls do not need an assembler name. */
if (DECL_ABSTRACT_P (decl))
=> return false;
in need_assembler_name_p combined with
if (DECL_FROM_INLINE (decl))
return get_index_by_decl (DECL_ABSTRACT_ORIGIN (decl));
in get_index_by_decl. These two functions are making incompatible assumptions;
the latter causes autofdo to rely on the assembler name for the abstract
maybe-in-charge constructor that the former decided wasn't needed.