> 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 <b...@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