https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78475
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Jan Engelhardt from comment #0) > Is mixing "finalized" object files (ET_EXEC, ET_DYN) produced by different > g++ versions a supported scenario? Yes, but prior to GCC 5 it was only supported for C++98/C++03 code. Since std::make_shared() is a C++11 feature, it's not supported to mix code compiled by GCC 4.x with code compiled by later releases. Since GCC 5.1 C++11 support is complete and non-experimental, and mixing objects compiled by GCC 5 and GCC 6 (and future releases) is OK.