[gcc r16-993] libstdc++: Rename __atomic_compare to __atomic_eq

Jonathan Wakely redi@gcc.gnu.org
Fri May 30 09:08:28 GMT 2025


https://gcc.gnu.org/g:ba56ed29d9c3be4ab79c012539a938dea7372357

commit r16-993-gba56ed29d9c3be4ab79c012539a938dea7372357
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Jan 9 22:24:52 2025 +0000

    libstdc++: Rename __atomic_compare to __atomic_eq
    
    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.

Diff:
---
 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));
     }


More information about the Libstdc++-cvs mailing list