aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/stubs/atomicops.h
diff options
context:
space:
mode:
authorGravatar xiaofeng@google.com <xiaofeng@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2013-07-25 19:55:35 +0000
committerGravatar xiaofeng@google.com <xiaofeng@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2013-07-25 19:55:35 +0000
commit4f68d92cfa26f5a478686a4d656740ee1688b38b (patch)
tree380023fd6968b5cf89ae6a447402d80beaa2aa29 /src/google/protobuf/stubs/atomicops.h
parentc9f69500b7d8c616ab107ed0748ae8a3754eef0d (diff)
Add support for ThreadSanitizer atomicops API to protobuf - patch from glider@
Diffstat (limited to 'src/google/protobuf/stubs/atomicops.h')
-rw-r--r--src/google/protobuf/stubs/atomicops.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/google/protobuf/stubs/atomicops.h b/src/google/protobuf/stubs/atomicops.h
index 8ece86b3..ab935b02 100644
--- a/src/google/protobuf/stubs/atomicops.h
+++ b/src/google/protobuf/stubs/atomicops.h
@@ -160,8 +160,11 @@ Atomic64 Release_Load(volatile const Atomic64* ptr);
#define GOOGLE_PROTOBUF_ATOMICOPS_ERROR \
#error "Atomic operations are not supported on your platform"
+// ThreadSanitizer, http://clang.llvm.org/docs/ThreadSanitizer.html.
+#if defined(THREAD_SANITIZER)
+#include <google/protobuf/stubs/atomicops_internals_tsan.h>
// MSVC.
-#if defined(_MSC_VER)
+#elif defined(_MSC_VER)
#if defined(GOOGLE_PROTOBUF_ARCH_IA32) || defined(GOOGLE_PROTOBUF_ARCH_X64)
#include <google/protobuf/stubs/atomicops_internals_x86_msvc.h>
#else