On 3/14/25 9:28 AM, Nathaniel Shead wrote:
Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk?

Alternatively, could still mark gnu_inline functions as non-vague, we
just need to do so more aggressively; but given this is specifically to
solve a modules issue I felt may as well keep it confined to there given
your previous comments.

I think we want a function import_interface_unknown or import_might_emit or something that is vague_linkage_p with additional restrictions.

As I think of it, an explicitly instantiated template is still vague linkage, but vague linkage is subject to various heuristics and controls like explicit instantiation and the ABI tinfo rule. The ABI spec recently drifted away from this interpretation toward vague linkage meaning COMDAT, but I think that was a conceptual mistake.

gnu_inline seems borderline to me, but I lean toward the change in this patch to treat all inlines as vague linkage and check gnu_inline in the new function.

Jason

Reply via email to