This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [v3] libstdc++/54005
- From: Benjamin De Kosnik <bkoz at redhat dot com>
- Cc: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Thu, 30 Aug 2012 12:27:08 -0700
- Subject: Re: [v3] libstdc++/54005
- References: <20120807161001.7e5d606f@coso>
> Pretty minor change, as per PR. This version seems more appropriate
> for templatized types.
.. this wasn't right, commentary as per bugzilla.
tested x86/linux
-benjamin
2012-08-07 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/54005 continued
* include/std/atomic: Use __atomic_lock_free with
* include/bits/atomic_base.h: Same.
diff --git a/libstdc++-v3/include/bits/atomic_base.h b/libstdc++-v3/include/bits/atomic_base.h
index 598e1f1..de098a3 100644
--- a/libstdc++-v3/include/bits/atomic_base.h
+++ b/libstdc++-v3/include/bits/atomic_base.h
@@ -35,6 +35,7 @@
#include <bits/c++config.h>
#include <stdbool.h>
#include <stdint.h>
+#include <cstddef>
#include <bits/atomic_lockfree_defines.h>
namespace std _GLIBCXX_VISIBILITY(default)
@@ -422,11 +423,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
is_lock_free() const noexcept
- { return __atomic_always_lock_free(sizeof(_M_i), &_M_i); }
+ { return __atomic_is_lock_free(sizeof(_M_i), NULL); }
bool
is_lock_free() const volatile noexcept
- { return __atomic_always_lock_free(sizeof(_M_i), &_M_i); }
+ { return __atomic_is_lock_free(sizeof(_M_i), NULL); }
void
store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept
@@ -716,11 +717,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
is_lock_free() const noexcept
- { return __atomic_always_lock_free(_M_type_size(1), &_M_p); }
+ { return __atomic_is_lock_free(_M_type_size(1), NULL); }
bool
is_lock_free() const volatile noexcept
- { return __atomic_always_lock_free(_M_type_size(1), &_M_p); }
+ { return __atomic_is_lock_free(_M_type_size(1), NULL); }
void
store(__pointer_type __p,
diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic
index b5ca606..535a90f 100644
--- a/libstdc++-v3/include/std/atomic
+++ b/libstdc++-v3/include/std/atomic
@@ -184,11 +184,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
is_lock_free() const noexcept
- { return __atomic_always_lock_free(sizeof(_M_i), &_M_i); }
+ { return __atomic_is_lock_free(sizeof(_M_i), NULL); }
bool
is_lock_free() const volatile noexcept
- { return __atomic_always_lock_free(sizeof(_M_i), &_M_i); }
+ { return __atomic_is_lock_free(sizeof(_M_i), NULL); }
void
store(_Tp __i, memory_order _m = memory_order_seq_cst) noexcept