aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-02-26 13:17:32 +0000
committerJonathan Wakely <jwakely@redhat.com>2024-03-07 20:55:25 +0000
commite162b2ff52c5e20f6624ff6b66845fe573cef183 (patch)
tree5634fc016e8cec642b8ff7b64ce372af6c63235e /gcc
parentddd347fca0685804bf68d6c768282573f3ea6442 (diff)
downloadgcc-e162b2ff52c5e20f6624ff6b66845fe573cef183.zip
gcc-e162b2ff52c5e20f6624ff6b66845fe573cef183.tar.gz
gcc-e162b2ff52c5e20f6624ff6b66845fe573cef183.tar.bz2
libstdc++: Do not define lock-free atomic aliases if not fully lock-free [PR114103]
The whole point of these typedefs is to guarantee lock-freedom, so if the target has no such types, we shouldn't defined the typedefs at all. libstdc++-v3/ChangeLog: PR libstdc++/114103 * include/bits/version.def (atomic_lock_free_type_aliases): Add extra_cond to check for at least one always-lock-free type. * include/bits/version.h: Regenerate. * include/std/atomic (atomic_signed_lock_free) (atomic_unsigned_lock_free): Only use always-lock-free types. * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): Don't use atomic counter if lock-free aliases aren't available. * testsuite/29_atomics/atomic/lock_free_aliases.cc: XFAIL for targets without lock-free word-size compare_exchange.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions