瀏覽代碼

Merge pull request #3480 from bklarson/master

Clean up typedefs for Atomic32/Atomic64
Feng Xiao 8 年之前
父節點
當前提交
ccb6b62249
共有 1 個文件被更改,包括 14 次插入21 次删除
  1. 14 21
      src/google/protobuf/stubs/atomicops.h

+ 14 - 21
src/google/protobuf/stubs/atomicops.h

@@ -63,28 +63,21 @@ namespace google {
 namespace protobuf {
 namespace protobuf {
 namespace internal {
 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
 #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
 #endif
 
 
 // Use AtomicWord for a machine-sized pointer.  It will use the Atomic32 or
 // Use AtomicWord for a machine-sized pointer.  It will use the Atomic32 or