https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117785

--- Comment #11 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #7)
> where making the destructor constexpr and thus effectively inline would have
> terrible effects, virtual tables of exception and similar classes now
> emitted everywhere.

Well, everywhere they're needed. That doesn't sound so terrible, lots of other
things are COMDAT and it should be backward-compatible.  But it would indeed be
a change.

To avoid it we could use the ancient #pragma interface/implementation, if they
still work, or invent a mechanism for this general issue of constexprfication
making more things inline.

I'm reminded of the C++14 dance of declaring a static const data member outside
the class to cause it to be emitted; doing the same for an inline function is
ill-formed, but we could allow it as an extension, perhaps along with
gnu_inline on the inline definition?

Reply via email to