| Index: third_party/protobuf/src/google/protobuf/stubs/platform_macros.h
|
| diff --git a/third_party/protobuf/src/google/protobuf/stubs/platform_macros.h b/third_party/protobuf/src/google/protobuf/stubs/platform_macros.h
|
| index 30604782c905e765128a95d584d814ab4946f9e2..580263e72e260bc6a60f874cf47d7fae30bbddfc 100644
|
| --- a/third_party/protobuf/src/google/protobuf/stubs/platform_macros.h
|
| +++ b/third_party/protobuf/src/google/protobuf/stubs/platform_macros.h
|
| @@ -1,6 +1,6 @@
|
| // Protocol Buffers - Google's data interchange format
|
| // Copyright 2012 Google Inc. All rights reserved.
|
| -// http://code.google.com/p/protobuf/
|
| +// https://developers.google.com/protocol-buffers/
|
| //
|
| // Redistribution and use in source and binary forms, with or without
|
| // modification, are permitted provided that the following conditions are
|
| @@ -31,7 +31,8 @@
|
| #ifndef GOOGLE_PROTOBUF_PLATFORM_MACROS_H_
|
| #define GOOGLE_PROTOBUF_PLATFORM_MACROS_H_
|
|
|
| -#include <google/protobuf/stubs/common.h>
|
| +#define GOOGLE_PROTOBUF_PLATFORM_ERROR \
|
| +#error "Host platform was not detected as supported by protobuf"
|
|
|
| // Processor architecture detection. For more info on what's defined, see:
|
| // http://msdn.microsoft.com/en-us/library/b0084kay.aspx
|
| @@ -62,17 +63,60 @@
|
| #endif
|
| #elif defined(__pnacl__)
|
| #define GOOGLE_PROTOBUF_ARCH_32_BIT 1
|
| -#elif defined(__ppc__)
|
| -#define GOOGLE_PROTOBUF_ARCH_PPC 1
|
| +#elif defined(sparc)
|
| +#define GOOGLE_PROTOBUF_ARCH_SPARC 1
|
| +#ifdef SOLARIS_64BIT_ENABLED
|
| +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1
|
| +#else
|
| #define GOOGLE_PROTOBUF_ARCH_32_BIT 1
|
| +#endif
|
| +#elif defined(_POWER) || defined(__powerpc64__) || defined(__PPC64__)
|
| +#define GOOGLE_PROTOBUF_ARCH_POWER 1
|
| +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1
|
| +#elif defined(__GNUC__)
|
| +# if (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4))
|
| +// We fallback to the generic Clang/GCC >= 4.7 implementation in atomicops.h
|
| +# elif defined(__clang__)
|
| +# if !__has_extension(c_atomic)
|
| +GOOGLE_PROTOBUF_PLATFORM_ERROR
|
| +# endif
|
| +// We fallback to the generic Clang/GCC >= 4.7 implementation in atomicops.h
|
| +# endif
|
| +# if __LP64__
|
| +# define GOOGLE_PROTOBUF_ARCH_64_BIT 1
|
| +# else
|
| +# define GOOGLE_PROTOBUF_ARCH_32_BIT 1
|
| +# endif
|
| #else
|
| -#error Host architecture was not detected as supported by protobuf
|
| +GOOGLE_PROTOBUF_PLATFORM_ERROR
|
| #endif
|
|
|
| #if defined(__APPLE__)
|
| #define GOOGLE_PROTOBUF_OS_APPLE
|
| +#include <TargetConditionals.h>
|
| +#if TARGET_OS_IPHONE
|
| +#define GOOGLE_PROTOBUF_OS_IPHONE
|
| +#endif
|
| +#elif defined(__EMSCRIPTEN__)
|
| +#define GOOGLE_PROTOBUF_OS_EMSCRIPTEN
|
| #elif defined(__native_client__)
|
| #define GOOGLE_PROTOBUF_OS_NACL
|
| +#elif defined(sun)
|
| +#define GOOGLE_PROTOBUF_OS_SOLARIS
|
| +#elif defined(_AIX)
|
| +#define GOOGLE_PROTOBUF_OS_AIX
|
| +#elif defined(__ANDROID__)
|
| +#define GOOGLE_PROTOBUF_OS_ANDROID
|
| +#endif
|
| +
|
| +#undef GOOGLE_PROTOBUF_PLATFORM_ERROR
|
| +
|
| +#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_APPLE)
|
| +// Android ndk does not support the __thread keyword very well yet. Here
|
| +// we use pthread_key_create()/pthread_getspecific()/... methods for
|
| +// TLS support on android.
|
| +// Apple Clang also does not support the __thread keyword.
|
| +#define GOOGLE_PROTOBUF_NO_THREADLOCAL
|
| #endif
|
|
|
| #endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_
|
|
|