aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBo Yang <teboring@google.com>2016-12-21 16:50:56 -0800
committerBo Yang <teboring@google.com>2016-12-22 15:24:53 -0800
commit117f7716414bb0826ad4b78d9b27f30e6f8e2e24 (patch)
tree491166f8519f38b161d8da82fa0082c487f14b95
parent2f38ce1f989366181e6677bbfbad07f4a074c7fb (diff)
downloadprotobuf-117f7716414bb0826ad4b78d9b27f30e6f8e2e24.tar.gz
protobuf-117f7716414bb0826ad4b78d9b27f30e6f8e2e24.tar.bz2
protobuf-117f7716414bb0826ad4b78d9b27f30e6f8e2e24.zip
Update _GNUC_VER to use the correct implementation of atomic operation on Mac.
-rwxr-xr-xpython/setup.py7
-rw-r--r--src/google/protobuf/stubs/atomicops.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/python/setup.py b/python/setup.py
index ef1a31b4..1683674e 100755
--- a/python/setup.py
+++ b/python/setup.py
@@ -5,6 +5,7 @@ import glob
import os
import subprocess
import sys
+import platform
# We must use setuptools, not distutils, because we need to use the
# namespace_packages option for the "google" package.
@@ -189,6 +190,12 @@ if __name__ == '__main__':
if "clang" in os.popen('$CC --version 2> /dev/null').read():
extra_compile_args.append('-Wno-shorten-64-to-32')
+ v, _, _ = platform.mac_ver()
+ if not v:
+ v = float('.'.join(v.split('.')[:2]))
+ if v >= 10.12:
+ extra_compile_args=['-std=c++11'],
+
if warnings_as_errors in sys.argv:
extra_compile_args.append('-Werror')
sys.argv.remove(warnings_as_errors)
diff --git a/src/google/protobuf/stubs/atomicops.h b/src/google/protobuf/stubs/atomicops.h
index eacec663..c25492f3 100644
--- a/src/google/protobuf/stubs/atomicops.h
+++ b/src/google/protobuf/stubs/atomicops.h
@@ -196,7 +196,6 @@ Atomic64 Release_Load(volatile const Atomic64* ptr);
// Apple.
#elif defined(GOOGLE_PROTOBUF_OS_APPLE)
-#pragma message(_GNUC_VER)
#if __has_feature(cxx_atomic) || _GNUC_VER >= 407
#include <google/protobuf/stubs/atomicops_internals_generic_c11_atomic.h>
#else // __has_feature(cxx_atomic) || _GNUC_VER >= 407