[PATCH] [libstdc++] Refactor/cleanup of atomic wait implementation

Jonathan Wakely jwakely@redhat.com
Tue Apr 20 12:02:15 GMT 2021


On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
>+	template<typename _Up, typename _ValFn,
>+		 typename _Spin = __default_spin_policy>
>+	  static bool
>+	  _S_do_spin_v(__platform_wait_t* __addr,
>+		       const _Up& __old, _ValFn __vfn,
>+		       __platform_wait_t& __val,
>+		       _Spin __spin = _Spin{ })
>+	  {
>+	    auto const __pred = [=]
>+	      { return __atomic_compare(__old, __vfn()); };

This doesn't compile, there are 28 FAILs in 29_atomics/*

FAIL: 29_atomics/atomic_integral/cons/value_init.cc (test for excess errors)

It needs to be qualified as __detail::__atomic_compare.

I was hoping to push this to trunk and gcc-11 for the gcc-11 release,
but I'm a bit concerned now.




More information about the Libstdc++ mailing list