https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121936
--- Comment #22 from Jason Merrill <jason at gcc dot gnu.org> --- (In reply to Martin Jambor from comment #21) > Second, the following optimism about inline functions seems to be > wrong: > > /* Inline functions are safe to be analyzed even if their symbol can > be overwritten at runtime. It is not meaningful to enforce any sane > behavior on replacing inline function by different body. */ > else if (DECL_DECLARED_INLINE_P (decl)) > avail = AVAIL_AVAILABLE; Perhaps we want an intermediate availability between _INTERPOSABLE and _AVAILABLE that allows inlining and cloning, but limits IPA when those are not done (unless -fno-semantic-interposition, possibly also a separate switch?). _REFINABLE? _COMDAT? I note that without this DECL_DECLARED_INLINE_P case, we then check decl_replaceable_p, which returns false for COMDAT, leading again to _AVAILABLE.
