https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108969
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ppalka at gcc dot gnu.org --- Comment #11 from Patrick Palka <ppalka at gcc dot gnu.org> --- Would it make sense to backport a "transition" version of r13-3707 to the release branches, one that just adds the static __ioinit object into the compiled library (without the init_priority attribute, since we only care about dynamic linking compatibility) and doesn't remove the static object from <iostream>? That way, a program compiled with GCC 13 and linked against libstdc++ 12.3 would still work w.r.t. stream initialization. And this library-side initialization should be safe since the ios_base::Init cdtors are idempotent.