Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Unified Diff: third_party/protobuf/src/google/protobuf/stubs/port.h

Issue 2590803003: Revert "third_party/protobuf: Update to HEAD (83d681ee2c)" (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/protobuf/src/google/protobuf/stubs/port.h
diff --git a/third_party/protobuf/src/google/protobuf/stubs/port.h b/third_party/protobuf/src/google/protobuf/stubs/port.h
index d1e5bee0a4aff09d5bb20d4a0700496f67a41703..80e60746531404a403c89661e3ff683034fddbbe 100644
--- a/third_party/protobuf/src/google/protobuf/stubs/port.h
+++ b/third_party/protobuf/src/google/protobuf/stubs/port.h
@@ -60,12 +60,8 @@
#endif
#else
#include <sys/param.h> // __BYTE_ORDER
- #if defined(__OpenBSD__)
- #include <endian.h>
- #endif
#if ((defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)) || \
- (defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN) || \
- (defined(BYTE_ORDER) && BYTE_ORDER == LITTLE_ENDIAN)) && \
+ (defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN)) && \
!defined(PROTOBUF_DISABLE_LITTLE_ENDIAN_OPT_FOR_TEST)
#define PROTOBUF_LITTLE_ENDIAN 1
#endif
@@ -129,12 +125,12 @@ typedef unsigned __int16 uint16;
typedef unsigned __int32 uint32;
typedef unsigned __int64 uint64;
#else
-typedef int8_t int8;
+typedef int8_t int8;
typedef int16_t int16;
typedef int32_t int32;
typedef int64_t int64;
-typedef uint8_t uint8;
+typedef uint8_t uint8;
typedef uint16_t uint16;
typedef uint32_t uint32;
typedef uint64_t uint64;
@@ -151,10 +147,8 @@ typedef uint64_t uint64;
#define GOOGLE_ULONGLONG(x) x##UI64
#define GOOGLE_LL_FORMAT "I64" // As in printf("%I64d", ...)
#else
-// By long long, we actually mean int64.
#define GOOGLE_LONGLONG(x) INT64_C(x)
#define GOOGLE_ULONGLONG(x) UINT64_C(x)
-// Used to format real long long integers.
#define GOOGLE_LL_FORMAT "ll" // As in "%lld". Note that "q" is poor form also.
#endif
@@ -196,15 +190,6 @@ static const uint64 kuint64max = GOOGLE_ULONGLONG(0xFFFFFFFFFFFFFFFF);
#endif
#endif
-#ifndef GOOGLE_ATTRIBUTE_NORETURN
-#ifdef __GNUC__
-// Tell the compiler that a given function never returns.
-#define GOOGLE_ATTRIBUTE_NORETURN __attribute__((noreturn))
-#else
-#define GOOGLE_ATTRIBUTE_NORETURN
-#endif
-#endif
-
#ifndef GOOGLE_ATTRIBUTE_DEPRECATED
#ifdef __GNUC__
// If the method/variable/type is used anywhere, produce a warning.
@@ -307,8 +292,10 @@ inline void GOOGLE_UNALIGNED_STORE64(void *p, uint64 v) {
#define GOOGLE_THREAD_LOCAL __thread
#endif
-// The following guarantees declaration of the byte swap functions.
+// The following guarantees declaration of the byte swap functions, and
+// defines __BYTE_ORDER for MSVC
#ifdef _MSC_VER
+#define __BYTE_ORDER __LITTLE_ENDIAN
#define bswap_16(x) _byteswap_ushort(x)
#define bswap_32(x) _byteswap_ulong(x)
#define bswap_64(x) _byteswap_uint64(x)
@@ -347,61 +334,6 @@ static inline uint64 bswap_64(uint64 x) {
#endif
// ===================================================================
-// from google3/util/bits/bits.h
-
-class Bits {
- public:
- static uint32 Log2FloorNonZero(uint32 n) {
-#if defined(__GNUC__)
- return 31 ^ __builtin_clz(n);
-#elif defined(COMPILER_MSVC) && defined(_M_IX86)
- _asm {
- bsr ebx, n
- mov n, ebx
- }
- return n;
-#else
- return Log2FloorNonZero_Portable(n);
-#endif
- }
-
- static uint64 Log2FloorNonZero64(uint64 n) {
-#if defined(__GNUC__)
- return 63 ^ __builtin_clzll(n);
-#else
- return Log2FloorNonZero64_Portable(n);
-#endif
- }
- private:
- static int Log2FloorNonZero_Portable(uint32 n) {
- if (n == 0)
- return -1;
- int log = 0;
- uint32 value = n;
- for (int i = 4; i >= 0; --i) {
- int shift = (1 << i);
- uint32 x = value >> shift;
- if (x != 0) {
- value = x;
- log += shift;
- }
- }
- assert(value == 1);
- return log;
- }
-
- static int Log2FloorNonZero64_Portable(uint64 n) {
- const uint32 topbits = static_cast<uint32>(n >> 32);
- if (topbits == 0) {
- // Top bits are zero, so scan in bottom bits
- return Log2FloorNonZero(static_cast<uint32>(n));
- } else {
- return 32 + Log2FloorNonZero(topbits);
- }
- }
-};
-
-// ===================================================================
// from google3/util/endian/endian.h
LIBPROTOBUF_EXPORT uint32 ghtonl(uint32 x);

Powered by Google App Engine
This is Rietveld 408576698