https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89942
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Kan Liu from comment #0) > This may break ABI compatibility when pass function object between libs > compiled by 4.9.2 / 5.4.0 gcc. That's not supported, because the C++11 ABI didn't stabilise until GCC 5.1.0, see https://stackoverflow.com/questions/46746878/is-it-safe-to-link-c17-c14-and-c11-objects/49119902#49119902 for a longer explanation. The attached patch doesn't solve the problem, it just moves it. Now you'd have ABI incompatibility between GCC 5.x and GCC 5.x, which is even worse.