From cdecd1b162d565a96ad6f6ed3c6f2a756732ba9e Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Sat, 15 Apr 2017 11:46:42 +0200 Subject: [PATCH] Fix warning: enumeration value not handled in switch ./src/json.hpp:1968:21: warning: enumeration value 'discarded' not explicitly handled in switch [-Wswitch-enum] --- src/json.hpp | 21 +++++++++++---------- src/json.hpp.re2c | 21 +++++++++++---------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/json.hpp b/src/json.hpp index 3b8925a3f..45a29e516 100644 --- a/src/json.hpp +++ b/src/json.hpp @@ -1970,59 +1970,60 @@ class basic_json case value_t::object: { object = create(); - break; + return; } case value_t::array: { array = create(); - break; + return; } case value_t::string: { string = create(""); - break; + return; } case value_t::boolean: { boolean = boolean_t(false); - break; + return; } case value_t::number_integer: { number_integer = number_integer_t(0); - break; + return; } case value_t::number_unsigned: { number_unsigned = number_unsigned_t(0); - break; + return; } case value_t::number_float: { number_float = number_float_t(0.0); - break; + return; } case value_t::null: { - break; + return; } - default: + case value_t::discarded: { if (t == value_t::null) { JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 2.1.1")); // LCOV_EXCL_LINE } - break; + return; } } + assert(false); } /// constructor for strings diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c index eca19ccff..ebae0d152 100644 --- a/src/json.hpp.re2c +++ b/src/json.hpp.re2c @@ -1970,59 +1970,60 @@ class basic_json case value_t::object: { object = create(); - break; + return; } case value_t::array: { array = create(); - break; + return; } case value_t::string: { string = create(""); - break; + return; } case value_t::boolean: { boolean = boolean_t(false); - break; + return; } case value_t::number_integer: { number_integer = number_integer_t(0); - break; + return; } case value_t::number_unsigned: { number_unsigned = number_unsigned_t(0); - break; + return; } case value_t::number_float: { number_float = number_float_t(0.0); - break; + return; } case value_t::null: { - break; + return; } - default: + case value_t::discarded: { if (t == value_t::null) { JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 2.1.1")); // LCOV_EXCL_LINE } - break; + return; } } + assert(false); } /// constructor for strings