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.

Reply via email to