From 14dcd918a815ab37b18b4c8a03d2159c8aaa74f3 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Sat, 15 Apr 2017 13:18:41 +0200 Subject: [PATCH] Fix warning: enumeration value not handled in switch In this case the switch is useless since the other cases are already excluded by the initial asserts. Removing the switch altogether seems the best way forward. --- src/json.hpp | 42 ++++++++++++++++-------------------------- src/json.hpp.re2c | 42 ++++++++++++++++-------------------------- 2 files changed, 32 insertions(+), 52 deletions(-) diff --git a/src/json.hpp b/src/json.hpp index 0ed49acce..d06954be3 100644 --- a/src/json.hpp +++ b/src/json.hpp @@ -12093,37 +12093,27 @@ basic_json_parser_74: strtonum num_converter(reinterpret_cast(m_start), reinterpret_cast(m_cursor)); - switch (token) + if (token == lexer::token_type::value_unsigned) { - case lexer::token_type::value_unsigned: + number_unsigned_t val; + if (num_converter.to(val)) { - number_unsigned_t val; - if (num_converter.to(val)) - { - // parsing successful - result.m_type = value_t::number_unsigned; - result.m_value = val; - return true; - } - break; + // parsing successful + result.m_type = value_t::number_unsigned; + result.m_value = val; + return true; } + } - case lexer::token_type::value_integer: + if (token == lexer::token_type::value_integer) + { + number_integer_t val; + if (num_converter.to(val)) { - number_integer_t val; - if (num_converter.to(val)) - { - // parsing successful - result.m_type = value_t::number_integer; - result.m_value = val; - return true; - } - break; - } - - default: - { - break; + // parsing successful + result.m_type = value_t::number_integer; + result.m_value = val; + return true; } } diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c index fa970385e..c2582290e 100644 --- a/src/json.hpp.re2c +++ b/src/json.hpp.re2c @@ -11126,37 +11126,27 @@ class basic_json strtonum num_converter(reinterpret_cast(m_start), reinterpret_cast(m_cursor)); - switch (token) + if (token == lexer::token_type::value_unsigned) { - case lexer::token_type::value_unsigned: + number_unsigned_t val; + if (num_converter.to(val)) { - number_unsigned_t val; - if (num_converter.to(val)) - { - // parsing successful - result.m_type = value_t::number_unsigned; - result.m_value = val; - return true; - } - break; + // parsing successful + result.m_type = value_t::number_unsigned; + result.m_value = val; + return true; } + } - case lexer::token_type::value_integer: + if (token == lexer::token_type::value_integer) + { + number_integer_t val; + if (num_converter.to(val)) { - number_integer_t val; - if (num_converter.to(val)) - { - // parsing successful - result.m_type = value_t::number_integer; - result.m_value = val; - return true; - } - break; - } - - default: - { - break; + // parsing successful + result.m_type = value_t::number_integer; + result.m_value = val; + return true; } }