https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125312
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- I'm unable to reproduce this using a x86_64-w64-mingw32 cross-compiler (gcc version 17.0.0 20260430) when running under Wine. I'm not able to run it using MSYS2. We've made quite a lot of changes to shared_ptr and weak_ptr since GCC 15: * 8df8510728b8 libstdc++: Remove trailing whitespace in shared_ptr_atomic.h * 74e0bb3faacf libstdc++: Disable false positive middle end warnings in std::shared_ptr [PR122197] * 254a858ae7ae Update copyright years. * b2fb18e470de libstdc++: Provide conversion between atomic_ref of similar types. * 59889eaa2b48 libstdc++: Make atomic<shared_ptr<T>>::wait sensitive to stored pointer only changes [PR118757] * 385984f5554a libstdc++: Fix warnings from std::make_unsigned<_Atomic_word> [PR122172] * 9a2b1acda0cb libstdc++: Trap on std::shared_ptr reference count overflow [PR71945] * faae3692f750 libstdc++: Allow std::shared_ptr reference counts to be negative [PR71945] * b2b2ac34ba48 libstdc++: optimize weak_ptr converting constructor/assignment * 10b8379252e9 libstdc++: Add smart ptr owner_equals and owner_hash [PR117403] * 77687bc0e132 libstdc++: Use constexpr-if for C++11 and C++14 There are no changes so far in GCC 17, so I don't think my use of 17.0.0 instead of 16.1.0 matters One change specifically mentions weak_ptr and shared_ptr::lock(): * b2b2ac34ba48 libstdc++: optimize weak_ptr converting constructor/assignment But I don't think this is relevant, because it only changes the weak_ptr converting constructors and converting assignments, neither of which is used here.
