From 17f2ca6913c60618196e2e93d36100dc237c60db Mon Sep 17 00:00:00 2001 From: Milo Yip Date: Fri, 18 Dec 2015 19:04:09 +0800 Subject: [PATCH] Try to fix clang and gcc warnings problems --- include/rapidjson/document.h | 10 +++------- include/rapidjson/reader.h | 13 +++---------- test/unittest/unittest.h | 2 ++ 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/include/rapidjson/document.h b/include/rapidjson/document.h index 8fde16c..dc40239 100644 --- a/include/rapidjson/document.h +++ b/include/rapidjson/document.h @@ -30,6 +30,7 @@ RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant #ifdef __clang__ RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_OFF(padded) +RAPIDJSON_DIAG_OFF(switch-enum) #endif #ifdef __GNUC__ @@ -724,9 +725,7 @@ public: else return data_.n.u64 == rhs.data_.n.u64; - case kNullType: - case kFalseType: - case kTrueType: + default: return true; } } @@ -2106,10 +2105,7 @@ GenericValue::GenericValue(const GenericValue(&rhs.data_); break; diff --git a/include/rapidjson/reader.h b/include/rapidjson/reader.h index 4cb7d50..b704154 100644 --- a/include/rapidjson/reader.h +++ b/include/rapidjson/reader.h @@ -42,6 +42,7 @@ RAPIDJSON_DIAG_OFF(4702) // unreachable code #ifdef __clang__ RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_OFF(padded) +RAPIDJSON_DIAG_OFF(switch-enum) #endif #ifdef __GNUC__ @@ -1417,9 +1418,7 @@ private: } } - case IterativeParsingStartState: - case IterativeParsingFinishState: - case IterativeParsingValueState: + default: // This branch is for IterativeParsingValueState actually. // Use `default:` rather than // `case IterativeParsingValueState:` is for code coverage. @@ -1456,13 +1455,7 @@ private: case IterativeParsingMemberKeyState: RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissColon, is.Tell()); return; case IterativeParsingMemberValueState: RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissCommaOrCurlyBracket, is.Tell()); return; case IterativeParsingElementState: RAPIDJSON_PARSE_ERROR(kParseErrorArrayMissCommaOrSquareBracket, is.Tell()); return; - case IterativeParsingErrorState: - case IterativeParsingKeyValueDelimiterState: - case IterativeParsingObjectFinishState: - case IterativeParsingArrayInitialState: - case IterativeParsingElementDelimiterState: - case IterativeParsingArrayFinishState: - case IterativeParsingValueState: RAPIDJSON_PARSE_ERROR(kParseErrorUnspecificSyntaxError, is.Tell()); return; + default: RAPIDJSON_PARSE_ERROR(kParseErrorUnspecificSyntaxError, is.Tell()); return; } } diff --git a/test/unittest/unittest.h b/test/unittest/unittest.h index 2aaa8cd..6062410 100644 --- a/test/unittest/unittest.h +++ b/test/unittest/unittest.h @@ -19,8 +19,10 @@ #ifndef __STDC_CONSTANT_MACROS #ifdef __clang__ #pragma GCC diagnostic push +#if __has_warning("-Wreserved-id-macro") #pragma GCC diagnostic ignored "-Wreserved-id-macro" #endif +#endif # define __STDC_CONSTANT_MACROS 1 // required by C++ standard