From dce4d350db3613071438d4da84cab2674a72ca46 Mon Sep 17 00:00:00 2001 From: EmilianC Date: Sat, 20 Jul 2024 22:24:27 -0400 Subject: [PATCH 1/2] Fixed MSVC warning C5054 "operator |': deprecated between enumerations of different types" --- include/cereal/external/rapidjson/document.h | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/include/cereal/external/rapidjson/document.h b/include/cereal/external/rapidjson/document.h index 91c4be80f..e1214c946 100644 --- a/include/cereal/external/rapidjson/document.h +++ b/include/cereal/external/rapidjson/document.h @@ -1929,17 +1929,17 @@ class GenericValue { // Initial flags of different types. kNullFlag = kNullType, - kTrueFlag = kTrueType | kBoolFlag, - kFalseFlag = kFalseType | kBoolFlag, - kNumberIntFlag = kNumberType | kNumberFlag | kIntFlag | kInt64Flag, - kNumberUintFlag = kNumberType | kNumberFlag | kUintFlag | kUint64Flag | kInt64Flag, - kNumberInt64Flag = kNumberType | kNumberFlag | kInt64Flag, - kNumberUint64Flag = kNumberType | kNumberFlag | kUint64Flag, - kNumberDoubleFlag = kNumberType | kNumberFlag | kDoubleFlag, - kNumberAnyFlag = kNumberType | kNumberFlag | kIntFlag | kInt64Flag | kUintFlag | kUint64Flag | kDoubleFlag, - kConstStringFlag = kStringType | kStringFlag, - kCopyStringFlag = kStringType | kStringFlag | kCopyFlag, - kShortStringFlag = kStringType | kStringFlag | kCopyFlag | kInlineStrFlag, + kTrueFlag = static_cast(kTrueType) | static_cast(kBoolFlag), + kFalseFlag = static_cast(kFalseType) | static_cast(kBoolFlag), + kNumberIntFlag = static_cast(kNumberType) | static_cast(kNumberFlag | kIntFlag | kInt64Flag), + kNumberUintFlag = static_cast(kNumberType) | static_cast(kNumberFlag | kUintFlag | kUint64Flag | kInt64Flag), + kNumberInt64Flag = static_cast(kNumberType) | static_cast(kNumberFlag | kInt64Flag), + kNumberUint64Flag = static_cast(kNumberType) | static_cast(kNumberFlag | kUint64Flag), + kNumberDoubleFlag = static_cast(kNumberType) | static_cast(kNumberFlag | kDoubleFlag), + kNumberAnyFlag = static_cast(kNumberType) | static_cast(kNumberFlag | kIntFlag | kInt64Flag | kUintFlag | kUint64Flag | kDoubleFlag), + kConstStringFlag = static_cast(kStringType) | static_cast(kStringFlag), + kCopyStringFlag = static_cast(kStringType) | static_cast(kStringFlag | kCopyFlag), + kShortStringFlag = static_cast(kStringType) | static_cast(kStringFlag | kCopyFlag | kInlineStrFlag), kObjectFlag = kObjectType, kArrayFlag = kArrayType, From 49d51920e6ac63598994e202a8f69f532610818d Mon Sep 17 00:00:00 2001 From: EmilianC Date: Sun, 21 Jul 2024 13:59:01 -0400 Subject: [PATCH 2/2] Fixed MSVC warning C4619 when compiling with VS2017 or greater --- include/cereal/external/rapidjson/istreamwrapper.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/cereal/external/rapidjson/istreamwrapper.h b/include/cereal/external/rapidjson/istreamwrapper.h index 4df7ce3e2..bf58c9d39 100644 --- a/include/cereal/external/rapidjson/istreamwrapper.h +++ b/include/cereal/external/rapidjson/istreamwrapper.h @@ -22,7 +22,7 @@ #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(padded) -#elif defined(_MSC_VER) +#elif defined(_MSC_VER) && _MSC_VER < 1910 CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(4351) // new behavior: elements of array 'array' will be default initialized #endif @@ -119,7 +119,7 @@ class BasicIStreamWrapper { typedef BasicIStreamWrapper IStreamWrapper; typedef BasicIStreamWrapper WIStreamWrapper; -#if defined(__clang__) || defined(_MSC_VER) +#if defined(__clang__) || (defined(_MSC_VER) && _MSC_VER < 1910) CEREAL_RAPIDJSON_DIAG_POP #endif