[PATCH v2 09/16] libstdc++: Rename __atomic_compare to __atomic_eq
Jonathan Wakely
jwakely@redhat.com
Thu May 29 11:01:26 GMT 2025
This is an equality comparison rather than a three-way comparison like
memcmp and <=>, so name it more precisely.
libstdc++-v3/ChangeLog:
* include/bits/atomic_timed_wait.h
(__atomic_wait_address_until_v): Replace __atomic_compare with
__atomic_eq.
(__atomic_wait_address_for_v): Likewise.
* include/bits/atomic_wait.h (__atomic_compare): Rename to
__atomic_eq.
(__atomic_wait_address_v): Replace __atomic_compare with
__atomic_eq.
---
libstdc++-v3/include/bits/atomic_timed_wait.h | 10 ++++++----
libstdc++-v3/include/bits/atomic_wait.h | 5 +++--
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/libstdc++-v3/include/bits/atomic_timed_wait.h b/libstdc++-v3/include/bits/atomic_timed_wait.h
index cbf9187f2bb8..800f461e9e48 100644
--- a/libstdc++-v3/include/bits/atomic_timed_wait.h
+++ b/libstdc++-v3/include/bits/atomic_timed_wait.h
@@ -302,8 +302,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
const chrono::time_point<_Clock, _Dur>& __atime,
bool __bare_wait = false) noexcept
{
- auto __pfn = [&](const _Tp& __val)
- { return !__detail::__atomic_compare(__old, __val); };
+ auto __pfn = [&](const _Tp& __val) {
+ return !__detail::__atomic_eq(__old, __val);
+ };
return __atomic_wait_address_until(__addr, __pfn, forward<_ValFn>(__vfn),
__atime, __bare_wait);
}
@@ -350,8 +351,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
const chrono::duration<_Rep, _Period>& __rtime,
bool __bare_wait = false) noexcept
{
- auto __pfn = [&](const _Tp& __val)
- { return !__detail::__atomic_compare(__old, __val); };
+ auto __pfn = [&](const _Tp& __val) {
+ return !__detail::__atomic_eq(__old, __val);
+ };
return __atomic_wait_address_for(__addr, __pfn, forward<_ValFn>(__vfn),
__rtime, __bare_wait);
}
diff --git a/libstdc++-v3/include/bits/atomic_wait.h b/libstdc++-v3/include/bits/atomic_wait.h
index cfda323a3ab6..40d8471413a2 100644
--- a/libstdc++-v3/include/bits/atomic_wait.h
+++ b/libstdc++-v3/include/bits/atomic_wait.h
@@ -154,7 +154,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// return true if equal
template<typename _Tp>
- bool __atomic_compare(const _Tp& __a, const _Tp& __b)
+ inline bool
+ __atomic_eq(const _Tp& __a, const _Tp& __b)
{
// TODO make this do the correct padding bit ignoring comparison
return __builtin_memcmp(&__a, &__b, sizeof(_Tp)) == 0;
@@ -483,7 +484,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_ValFn __vfn) noexcept
{
auto __pfn = [&](const _Tp& __val)
- { return !__detail::__atomic_compare(__old, __val); };
+ { return !__detail::__atomic_eq(__old, __val); };
__atomic_wait_address(__addr, __pfn, forward<_ValFn>(__vfn));
}
--
2.49.0
More information about the Libstdc++
mailing list