@@ -2003,17 +2003,18 @@ class GenericValue {
2003
2003
2004
2004
// Initial flags of different types.
2005
2005
kNullFlag = kNullType ,
2006
- kTrueFlag = kTrueType | kBoolFlag ,
2007
- kFalseFlag = kFalseType | kBoolFlag ,
2008
- kNumberIntFlag = kNumberType | kNumberFlag | kIntFlag | kInt64Flag ,
2009
- kNumberUintFlag = kNumberType | kNumberFlag | kUintFlag | kUint64Flag | kInt64Flag ,
2010
- kNumberInt64Flag = kNumberType | kNumberFlag | kInt64Flag ,
2011
- kNumberUint64Flag = kNumberType | kNumberFlag | kUint64Flag ,
2012
- kNumberDoubleFlag = kNumberType | kNumberFlag | kDoubleFlag ,
2013
- kNumberAnyFlag = kNumberType | kNumberFlag | kIntFlag | kInt64Flag | kUintFlag | kUint64Flag | kDoubleFlag ,
2014
- kConstStringFlag = kStringType | kStringFlag ,
2015
- kCopyStringFlag = kStringType | kStringFlag | kCopyFlag ,
2016
- kShortStringFlag = kStringType | kStringFlag | kCopyFlag | kInlineStrFlag ,
2006
+ // These casts are added to suppress the warning on MSVC about bitwise operations between enums of different types.
2007
+ kTrueFlag = static_cast <int >(kTrueType ) | static_cast <int >(kBoolFlag ),
2008
+ kFalseFlag = static_cast <int >(kFalseType ) | static_cast <int >(kBoolFlag ),
2009
+ kNumberIntFlag = static_cast <int >(kNumberType ) | static_cast <int >(kNumberFlag | kIntFlag | kInt64Flag ),
2010
+ kNumberUintFlag = static_cast <int >(kNumberType ) | static_cast <int >(kNumberFlag | kUintFlag | kUint64Flag | kInt64Flag ),
2011
+ kNumberInt64Flag = static_cast <int >(kNumberType ) | static_cast <int >(kNumberFlag | kInt64Flag ),
2012
+ kNumberUint64Flag = static_cast <int >(kNumberType ) | static_cast <int >(kNumberFlag | kUint64Flag ),
2013
+ kNumberDoubleFlag = static_cast <int >(kNumberType ) | static_cast <int >(kNumberFlag | kDoubleFlag ),
2014
+ kNumberAnyFlag = static_cast <int >(kNumberType ) | static_cast <int >(kNumberFlag | kIntFlag | kInt64Flag | kUintFlag | kUint64Flag | kDoubleFlag ),
2015
+ kConstStringFlag = static_cast <int >(kStringType ) | static_cast <int >(kStringFlag ),
2016
+ kCopyStringFlag = static_cast <int >(kStringType ) | static_cast <int >(kStringFlag | kCopyFlag ),
2017
+ kShortStringFlag = static_cast <int >(kStringType ) | static_cast <int >(kStringFlag | kCopyFlag | kInlineStrFlag ),
2017
2018
kObjectFlag = kObjectType ,
2018
2019
kArrayFlag = kArrayType ,
2019
2020
0 commit comments