33 #ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_
34 #define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_
47 #if !defined(GOOGLE_PROTOBUF_ARCH_64_BIT)
57 reinterpret_cast<volatile Atomic32*>(ptr), old_value, new_value);
63 reinterpret_cast<volatile Atomic32*>(ptr), new_value);
69 reinterpret_cast<volatile Atomic32*>(ptr), increment);
75 reinterpret_cast<volatile Atomic32*>(ptr), increment);
82 reinterpret_cast<volatile Atomic32*>(ptr), old_value, new_value);
89 reinterpret_cast<volatile Atomic32*>(ptr), old_value, new_value);
97 return Acquire_Store(reinterpret_cast<volatile Atomic32*>(ptr), value);
101 return Release_Store(reinterpret_cast<volatile Atomic32*>(ptr), value);
105 return NoBarrier_Load(reinterpret_cast<volatile const Atomic32*>(ptr));
109 return Acquire_Load(reinterpret_cast<volatile const Atomic32*>(ptr));
113 return Release_Load(reinterpret_cast<volatile const Atomic32*>(ptr));
120 #endif // !defined(GOOGLE_PROTOBUF_ARCH_64_BIT)
122 #endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_
Atomic32 Acquire_Load(volatile const Atomic32 *ptr)
Definition: atomicops_internals_arm64_gcc.h:167
void Acquire_Store(volatile Atomic32 *ptr, Atomic32 value)
Definition: atomicops_internals_arm64_gcc.h:149
Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
Definition: atomicops_internals_arm64_gcc.h:52
void Release_Store(volatile Atomic32 *ptr, Atomic32 value)
Definition: atomicops_internals_arm64_gcc.h:154
Atomic32 Release_Load(volatile const Atomic32 *ptr)
Definition: atomicops_internals_arm64_gcc.h:180
Definition: document.h:390
intptr_t AtomicWord
Definition: atomicops.h:81
Atomic32 Release_CompareAndSwap(volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
Definition: atomicops_internals_arm64_gcc.h:136
Atomic32 Barrier_AtomicIncrement(volatile Atomic32 *ptr, Atomic32 increment)
Definition: atomicops_internals_arm64_gcc.h:118
Definition: BnetFileGenerator.h:47
Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32 *ptr, Atomic32 increment)
Definition: atomicops_internals_arm64_gcc.h:97
const FieldDescriptor value
Definition: descriptor.h:1522
Atomic32 NoBarrier_AtomicExchange(volatile Atomic32 *ptr, Atomic32 new_value)
Definition: atomicops_internals_arm64_gcc.h:77
void NoBarrier_Store(volatile Atomic32 *ptr, Atomic32 value)
Definition: atomicops_internals_arm64_gcc.h:145
Atomic32 NoBarrier_Load(volatile const Atomic32 *ptr)
Definition: atomicops_internals_arm64_gcc.h:163
Atomic32 Acquire_CompareAndSwap(volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
Definition: atomicops_internals_arm64_gcc.h:127