Commit 0750797d authored by Jisi Liu's avatar Jisi Liu

Merge remote-tracking branch 'origin/3.0.0-GA' into 3.0.0-GA

parents 54feb9ac b6b521b6
...@@ -547,7 +547,7 @@ EXTRA_DIST = \ ...@@ -547,7 +547,7 @@ EXTRA_DIST = \
google/protobuf/package_info.h \ google/protobuf/package_info.h \
google/protobuf/io/package_info.h \ google/protobuf/io/package_info.h \
google/protobuf/compiler/ruby/ruby_generated_code.proto \ google/protobuf/compiler/ruby/ruby_generated_code.proto \
google/protobuf/compiler/ruby/ruby_generated_code.rb \ google/protobuf/compiler/ruby/ruby_generated_code_pb.rb \
google/protobuf/compiler/package_info.h \ google/protobuf/compiler/package_info.h \
google/protobuf/compiler/zip_output_unittest.sh \ google/protobuf/compiler/zip_output_unittest.sh \
README.md README.md
......
...@@ -145,15 +145,15 @@ std::ostream& operator<<(std::ostream& o, const uint128& b) { ...@@ -145,15 +145,15 @@ std::ostream& operator<<(std::ostream& o, const uint128& b) {
std::streamsize div_base_log; std::streamsize div_base_log;
switch (flags & std::ios::basefield) { switch (flags & std::ios::basefield) {
case std::ios::hex: case std::ios::hex:
div = GOOGLE_ULONGLONG(0x1000000000000000); // 16^15 div = static_cast<uint64>(GOOGLE_ULONGLONG(0x1000000000000000)); // 16^15
div_base_log = 15; div_base_log = 15;
break; break;
case std::ios::oct: case std::ios::oct:
div = GOOGLE_ULONGLONG(01000000000000000000000); // 8^21 div = static_cast<uint64>(GOOGLE_ULONGLONG(01000000000000000000000)); // 8^21
div_base_log = 21; div_base_log = 21;
break; break;
default: // std::ios::dec default: // std::ios::dec
div = GOOGLE_ULONGLONG(10000000000000000000); // 10^19 div = static_cast<uint64>(GOOGLE_ULONGLONG(10000000000000000000)); // 10^19
div_base_log = 19; div_base_log = 19;
break; break;
} }
......
...@@ -109,15 +109,15 @@ typedef unsigned __int16 uint16; ...@@ -109,15 +109,15 @@ typedef unsigned __int16 uint16;
typedef unsigned __int32 uint32; typedef unsigned __int32 uint32;
typedef unsigned __int64 uint64; typedef unsigned __int64 uint64;
#else #else
typedef signed char int8; typedef int8_t int8;
typedef short int16; typedef int16_t int16;
typedef int int32; typedef int32_t int32;
typedef long long int64; typedef int64_t int64;
typedef unsigned char uint8; typedef uint8_t uint8;
typedef unsigned short uint16; typedef uint16_t uint16;
typedef unsigned int uint32; typedef uint32_t uint32;
typedef unsigned long long uint64; typedef uint64_t uint64;
#endif #endif
// long long macros to be used because gcc and vc++ use different suffixes, // long long macros to be used because gcc and vc++ use different suffixes,
...@@ -131,8 +131,10 @@ typedef unsigned long long uint64; ...@@ -131,8 +131,10 @@ typedef unsigned long long uint64;
#define GOOGLE_ULONGLONG(x) x##UI64 #define GOOGLE_ULONGLONG(x) x##UI64
#define GOOGLE_LL_FORMAT "I64" // As in printf("%I64d", ...) #define GOOGLE_LL_FORMAT "I64" // As in printf("%I64d", ...)
#else #else
// By long long, we actually mean int64.
#define GOOGLE_LONGLONG(x) x##LL #define GOOGLE_LONGLONG(x) x##LL
#define GOOGLE_ULONGLONG(x) x##ULL #define GOOGLE_ULONGLONG(x) x##ULL
// Used to format real long long integers.
#define GOOGLE_LL_FORMAT "ll" // As in "%lld". Note that "q" is poor form also. #define GOOGLE_LL_FORMAT "ll" // As in "%lld". Note that "q" is poor form also.
#endif #endif
......
...@@ -142,6 +142,13 @@ int64 RoundTowardZero(int64 value, int64 divider) { ...@@ -142,6 +142,13 @@ int64 RoundTowardZero(int64 value, int64 divider) {
} }
} // namespace } // namespace
// Actually define these static const integers. Required by C++ standard (but
// omitting them may still work with some compilers).
const int64 TimeUtil::kTimestampMinSeconds;
const int64 TimeUtil::kTimestampMaxSeconds;
const int64 TimeUtil::kDurationMaxSeconds;
const int64 TimeUtil::kDurationMinSeconds;
string TimeUtil::ToString(const Timestamp& timestamp) { string TimeUtil::ToString(const Timestamp& timestamp) {
return FormatTime(timestamp.seconds(), timestamp.nanos()); return FormatTime(timestamp.seconds(), timestamp.nanos());
} }
...@@ -174,7 +181,7 @@ string TimeUtil::ToString(const Duration& duration) { ...@@ -174,7 +181,7 @@ string TimeUtil::ToString(const Duration& duration) {
seconds = -seconds; seconds = -seconds;
nanos = -nanos; nanos = -nanos;
} }
result += StringPrintf("%" GOOGLE_LL_FORMAT "d", seconds); result += SimpleItoa(seconds);
if (nanos != 0) { if (nanos != 0) {
result += "." + FormatNanos(nanos); result += "." + FormatNanos(nanos);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment