[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