diff options
author | Feng Xiao <xfxyjwf@gmail.com> | 2017-08-10 13:03:44 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-10 13:03:44 -0700 |
commit | ccb6b622497c9627898dadcb3818014b3a245d4e (patch) | |
tree | 9717ecc9d1cebdaefecd6adddba75137cb5ee805 | |
parent | 35db2675b418ea105ef89f88fd1bf0257eb8a3ff (diff) | |
parent | 1b423474fd8ec6beab8d51bbc73b7756960ce2d6 (diff) | |
download | protobuf-ccb6b622497c9627898dadcb3818014b3a245d4e.tar.gz protobuf-ccb6b622497c9627898dadcb3818014b3a245d4e.tar.bz2 protobuf-ccb6b622497c9627898dadcb3818014b3a245d4e.zip |
Merge pull request #3480 from bklarson/master
Clean up typedefs for Atomic32/Atomic64
-rw-r--r-- | src/google/protobuf/stubs/atomicops.h | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/src/google/protobuf/stubs/atomicops.h b/src/google/protobuf/stubs/atomicops.h index 75aee306..64c838fb 100644 --- a/src/google/protobuf/stubs/atomicops.h +++ b/src/google/protobuf/stubs/atomicops.h @@ -63,28 +63,21 @@ namespace google { namespace protobuf { namespace internal { -#if defined(GOOGLE_PROTOBUF_ARCH_POWER) -#if defined(_LP64) || defined(__LP64__) -typedef int32 Atomic32; -typedef intptr_t Atomic64; +#ifdef GOOGLE_PROTOBUF_ARCH_32_BIT + typedef intptr_t Atomic32; + typedef int64 Atomic64; #else -typedef intptr_t Atomic32; -typedef int64 Atomic64; -#endif -#else -typedef int32 Atomic32; -#ifdef GOOGLE_PROTOBUF_ARCH_64_BIT -// We need to be able to go between Atomic64 and AtomicWord implicitly. This -// means Atomic64 and AtomicWord should be the same type on 64-bit. -#if defined(__ILP32__) || defined(GOOGLE_PROTOBUF_OS_NACL) -// NaCl's intptr_t is not actually 64-bits on 64-bit! -// http://code.google.com/p/nativeclient/issues/detail?id=1162 -// sparcv9's pointer type is 32bits -typedef int64 Atomic64; -#else -typedef intptr_t Atomic64; -#endif -#endif + typedef int32 Atomic32; + // We need to be able to go between Atomic64 and AtomicWord implicitly. This + // means Atomic64 and AtomicWord should be the same type on 64-bit. + #if defined(__ILP32__) || defined(GOOGLE_PROTOBUF_OS_NACL) + // NaCl's intptr_t is not actually 64-bits on 64-bit! + // http://code.google.com/p/nativeclient/issues/detail?id=1162 + // sparcv9's pointer type is 32bits + typedef int64 Atomic64; + #else + typedef intptr_t Atomic64; + #endif #endif // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or |