diff options
author | Jisi Liu <liujisi@google.com> | 2016-11-02 15:03:19 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-02 15:03:19 -0700 |
commit | 93a4fa23d0e6d5c04d4c03aa0002fb483d7a77ee (patch) | |
tree | 3fbd888f9f360e83a6ad63dafb17d49ac48e3cb1 /src/google | |
parent | 750b9e24287317858a666efa7b971c757e6c8236 (diff) | |
parent | a5a2c1d78fb2c1b92a7299cfee4214f4c2d212dd (diff) | |
download | protobuf-93a4fa23d0e6d5c04d4c03aa0002fb483d7a77ee.tar.gz protobuf-93a4fa23d0e6d5c04d4c03aa0002fb483d7a77ee.tar.bz2 protobuf-93a4fa23d0e6d5c04d4c03aa0002fb483d7a77ee.zip |
Merge pull request #2302 from jbrianceau/generic-gcc-atomics-strong-cmpxchg
generic atomicops: Use strong compare_exchange
Diffstat (limited to 'src/google')
-rw-r--r-- | src/google/protobuf/stubs/atomicops_internals_generic_gcc.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h b/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h index 7314ee4f..7f17b30d 100644 --- a/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h +++ b/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h @@ -38,7 +38,7 @@ namespace internal { inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, Atomic32 old_value, Atomic32 new_value) { - __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __atomic_compare_exchange_n(ptr, &old_value, new_value, false, __ATOMIC_RELAXED, __ATOMIC_RELAXED); return old_value; } @@ -61,7 +61,7 @@ inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, Atomic32 old_value, Atomic32 new_value) { - __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __atomic_compare_exchange_n(ptr, &old_value, new_value, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE); return old_value; } @@ -69,7 +69,7 @@ inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, Atomic32 old_value, Atomic32 new_value) { - __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __atomic_compare_exchange_n(ptr, &old_value, new_value, false, __ATOMIC_RELEASE, __ATOMIC_ACQUIRE); return old_value; } @@ -115,7 +115,7 @@ inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, Atomic64 old_value, Atomic64 new_value) { - __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __atomic_compare_exchange_n(ptr, &old_value, new_value, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE); return old_value; } @@ -123,7 +123,7 @@ inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, Atomic64 old_value, Atomic64 new_value) { - __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __atomic_compare_exchange_n(ptr, &old_value, new_value, false, __ATOMIC_RELAXED, __ATOMIC_RELAXED); return old_value; } |