tsan: fix macro mess
authorDmitry Vyukov <dvyukov@google.com>
Tue, 27 Nov 2012 12:51:16 +0000 (12:51 +0000)
committerDmitry Vyukov <dvyukov@google.com>
Tue, 27 Nov 2012 12:51:16 +0000 (12:51 +0000)
llvm-svn: 168697

compiler-rt/lib/tsan/rtl/tsan_interface_atomic.h

index 576bbd1..ce9be14 100644 (file)
@@ -22,12 +22,8 @@ typedef short    __tsan_atomic16;  // NOLINT
 typedef int      __tsan_atomic32;
 typedef long     __tsan_atomic64;  // NOLINT
 
-#if (defined(__clang__) && defined(__clang_major__) \
-      && defined(__clang_minor__) && __clang__ >= 1 && __clang_major__ >= 3 \
-      && __clang_minor__ >= 3) \
-    || (defined(__GNUC__) && defined(__GNUC_MINOR__) \
-      && defined(__GNUC_PATCHLEVEL__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6 \
-      && __GNUC_PATCHLEVEL__ >= 3)
+#if defined(__SIZEOF_INT128__) \
+    || (__clang_major__ * 100 + __clang_minor__ >= 302)
 typedef __int128 __tsan_atomic128;
 #define __TSAN_HAS_INT128 1
 #else