[Bug libstdc++/114865] [13/14/15/16 Regression] std::atomic<X>::compare_exchange_strong seems to hang under GCC 13 for C++11
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 12 02:36:03 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114865
--- Comment #29 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppalka@gcc.gnu.org>:
https://gcc.gnu.org/g:48f2e8aa6ddad72955781728bdf515eb50411d24
commit r16-7471-g48f2e8aa6ddad72955781728bdf515eb50411d24
Author: Patrick Palka <ppalka@redhat.com>
Date: Wed Feb 11 21:35:21 2026 -0500
libstdc++: Clear padding bits in std::atomic ctor in C++11 [PR114865]
After the front end change r16-7199 both GCC and Clang allow non-empty
constexpr constructor bodies in C++11 as an extension, so we can now
unconditionally enable the __builtin_clear_padding logic in std::atomic's
constructor.
PR libstdc++/114865
libstdc++-v3/ChangeLog:
* include/std/atomic (atomic<_Tp>::atomic(_Tp)) [C++11]:
Enable __builtin_clear_padding logic.
* testsuite/29_atomics/atomic/compare_exchange_padding.cc: Enable
this test in earlier modes, including C++11.
* testsuite/29_atomics/atomic/cons/zero_padding.cc [C++11]:
Enable tests verifying cleared padding bits for a non-static-init
std::atomic object.
Reviewed-by: Tomasz KamiÅski <tkaminsk@redhat.com>
Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
More information about the Gcc-bugs
mailing list