From 3b8158086dc6a6c82ec3c7bdf97b9674a2d8557f Mon Sep 17 00:00:00 2001 From: "Philipp A. Hartmann" Date: Wed, 1 Apr 2015 22:39:01 +0200 Subject: [PATCH 1/3] messagereader.cpp: drop trailing comma --- example/messagereader/messagereader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/messagereader/messagereader.cpp b/example/messagereader/messagereader.cpp index 436af85..50255b3 100644 --- a/example/messagereader/messagereader.cpp +++ b/example/messagereader/messagereader.cpp @@ -54,7 +54,7 @@ struct MessageHandler enum State { kExpectObjectStart, kExpectNameOrObjectEnd, - kExpectValue, + kExpectValue }state_; std::string name_; }; From 525e8c5770c433c7ca989e12bdf338939b3ebb2b Mon Sep 17 00:00:00 2001 From: "Philipp A. Hartmann" Date: Wed, 1 Apr 2015 22:39:26 +0200 Subject: [PATCH 2/3] biginteger/diyfp: mark __int128 as extension on GCC --- include/rapidjson/internal/biginteger.h | 3 ++- include/rapidjson/internal/diyfp.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/rapidjson/internal/biginteger.h b/include/rapidjson/internal/biginteger.h index 3e97920..5719a2a 100755 --- a/include/rapidjson/internal/biginteger.h +++ b/include/rapidjson/internal/biginteger.h @@ -252,7 +252,8 @@ private: (*outHigh)++; return low; #elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__) - unsigned __int128 p = static_cast(a) * static_cast(b); + __extension__ typedef unsigned __int128 uint128; + uint128 p = static_cast(a) * static_cast(b); p += k; *outHigh = p >> 64; return static_cast(p); diff --git a/include/rapidjson/internal/diyfp.h b/include/rapidjson/internal/diyfp.h index 174b9fa..1b36f66 100644 --- a/include/rapidjson/internal/diyfp.h +++ b/include/rapidjson/internal/diyfp.h @@ -75,7 +75,8 @@ struct DiyFp { h++; return DiyFp(h, e + rhs.e + 64); #elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__) - unsigned __int128 p = static_cast(f) * static_cast(rhs.f); + __extension__ typedef unsigned __int128 uint128; + uint128 p = static_cast(f) * static_cast(rhs.f); uint64_t h = p >> 64; uint64_t l = static_cast(p); if (l & (uint64_t(1) << 63)) // rounding From cda34f0033391165190c75c72e88a0eeaf15c6b3 Mon Sep 17 00:00:00 2001 From: "Philipp A. Hartmann" Date: Wed, 1 Apr 2015 22:39:42 +0200 Subject: [PATCH 3/3] encodings.h: hide overflow warning --- include/rapidjson/encodings.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/rapidjson/encodings.h b/include/rapidjson/encodings.h index 6bc8aec..24a24b6 100644 --- a/include/rapidjson/encodings.h +++ b/include/rapidjson/encodings.h @@ -30,6 +30,7 @@ RAPIDJSON_DIAG_OFF(4702) // unreachable code #elif defined(__GNUC__) RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_OFF(effc++) +RAPIDJSON_DIAG_OFF(overflow) #endif RAPIDJSON_NAMESPACE_BEGIN