aboutsummaryrefslogtreecommitdiff
path: root/src/google
diff options
context:
space:
mode:
authorBo Yang <teboring@google.com>2016-10-13 12:20:24 -0700
committerBo Yang <teboring@google.com>2016-10-13 14:25:43 -0700
commit686a19c9b792e44f3e90467d404a9865de0aa330 (patch)
tree8f4a3250a966961f68460a2da185922adfc3af75 /src/google
parente28286fa05d8327fd6c5aa70cfb3be558f0932b8 (diff)
parent60d95f36c0081a03b947c2b625c10841bb19736c (diff)
downloadprotobuf-686a19c9b792e44f3e90467d404a9865de0aa330.tar.gz
protobuf-686a19c9b792e44f3e90467d404a9865de0aa330.tar.bz2
protobuf-686a19c9b792e44f3e90467d404a9865de0aa330.zip
Merge 3.1.x into master.
Diffstat (limited to 'src/google')
-rw-r--r--src/google/protobuf/stubs/type_traits.h10
1 files changed, 1 insertions, 9 deletions
diff --git a/src/google/protobuf/stubs/type_traits.h b/src/google/protobuf/stubs/type_traits.h
index 8d48c6aa..3ab5ea7d 100644
--- a/src/google/protobuf/stubs/type_traits.h
+++ b/src/google/protobuf/stubs/type_traits.h
@@ -139,18 +139,10 @@ template<> struct is_integral<int> : true_type { };
template<> struct is_integral<unsigned int> : true_type { };
template<> struct is_integral<long> : true_type { };
template<> struct is_integral<unsigned long> : true_type { };
-#ifdef HAVE_LONG_LONG
+#if defined(HAVE_LONG_LONG) || defined(_MSC_VER)
template<> struct is_integral<long long> : true_type { };
template<> struct is_integral<unsigned long long> : true_type { };
#endif
-#if defined(_MSC_VER)
-// With VC, __int8, __int16, and __int32 are synonymous with standard types
-// with the same size, but __int64 has not equivalent (i.e., it's neither
-// long, nor long long and should be treated differnetly).
-// https://msdn.microsoft.com/en-us/library/29dh1w7z.aspx
-template<> struct is_integral<__int64> : true_type { };
-template<> struct is_integral<unsigned __int64> : true_type {};
-#endif
template <class T> struct is_integral<const T> : is_integral<T> { };
template <class T> struct is_integral<volatile T> : is_integral<T> { };
template <class T> struct is_integral<const volatile T> : is_integral<T> { };