diff --git a/include/chaiscript/dispatchkit/boxed_number.hpp b/include/chaiscript/dispatchkit/boxed_number.hpp index 0c92fcb..e10a201 100644 --- a/include/chaiscript/dispatchkit/boxed_number.hpp +++ b/include/chaiscript/dispatchkit/boxed_number.hpp @@ -13,13 +13,21 @@ namespace chaiscript { +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable : 4244 4018 4389 4146) +#endif + /// \brief Represents any numeric type, generically. Used internally for generic operations between POD values class Boxed_Number { private: struct boolean { + +#ifdef __GNUC__ #pragma GCC diagnostic ignored "-Wsign-compare" +#endif template static Boxed_Value go(Operators::Opers t_oper, const T &t, const U &u, const Boxed_Value &) { @@ -696,7 +704,11 @@ namespace chaiscript { }; } - + +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif + } diff --git a/include/chaiscript/language/chaiscript_eval.hpp b/include/chaiscript/language/chaiscript_eval.hpp index 217e7c5..b8cb33b 100644 --- a/include/chaiscript/language/chaiscript_eval.hpp +++ b/include/chaiscript/language/chaiscript_eval.hpp @@ -834,7 +834,7 @@ namespace chaiscript virtual Boxed_Value eval_internal(chaiscript::detail::Dispatch_Engine &t_ss) { Boxed_Value match_value; bool breaking = false; - int currentCase = 1; + size_t currentCase = 1; bool hasMatched = false; chaiscript::eval::detail::Scope_Push_Pop spp(t_ss); diff --git a/unittests/eval_catch_exception_test.cpp b/unittests/eval_catch_exception_test.cpp index b92021f..0a7aced 100644 --- a/unittests/eval_catch_exception_test.cpp +++ b/unittests/eval_catch_exception_test.cpp @@ -61,7 +61,7 @@ int test_5() try { chai.eval("throw(runtime_error(\"error\"))", chaiscript::exception_specification()); - } catch (const double e) { + } catch (const double) { std::cout << "test_5 failed with double" << std::endl; return EXIT_FAILURE; } catch (int) { @@ -73,7 +73,7 @@ int test_5() } catch (const std::string &) { std::cout << "test_5 failed with string" << std::endl; return EXIT_FAILURE; - } catch (const std::exception &e) { + } catch (const std::exception &) { return EXIT_SUCCESS; } @@ -96,10 +96,10 @@ int test_unhandled() } catch (float) { std::cout << "test_unhandled failed with float" << std::endl; return EXIT_FAILURE; - } catch (const std::exception &e) { + } catch (const std::exception &) { std::cout << "test_unhandled failed with std::exception" << std::endl; return EXIT_FAILURE; - } catch (const chaiscript::Boxed_Value &bv) { + } catch (const chaiscript::Boxed_Value &) { return EXIT_SUCCESS; }