diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d5dc8f..3f88aa4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,11 +48,7 @@ else(READLINE_LIBRARY) endif(READLINE_LIBRARY) IF(MSVC) - IF (CMAKE_BUILD_TYPE MATCHES "Debug") - ADD_DEFINITIONS(/W4 /Wall) - ELSE() - ADD_DEFINITIONS(/W3) - ENDIF() + ADD_DEFINITIONS(/W4) ELSE() ADD_DEFINITIONS(-Wall -Wextra) ENDIF() diff --git a/include/chaiscript/dispatchkit/operators.hpp b/include/chaiscript/dispatchkit/operators.hpp index 2ec33f3..7825c1d 100644 --- a/include/chaiscript/dispatchkit/operators.hpp +++ b/include/chaiscript/dispatchkit/operators.hpp @@ -146,7 +146,14 @@ namespace chaiscript template Ret unary_minus(L l) { +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable : 4146) return (-l); +#pragma warning(pop) +#else + return (-1); +#endif } template diff --git a/include/chaiscript/dispatchkit/proxy_functions.hpp b/include/chaiscript/dispatchkit/proxy_functions.hpp index 47a0716..2a82253 100644 --- a/include/chaiscript/dispatchkit/proxy_functions.hpp +++ b/include/chaiscript/dispatchkit/proxy_functions.hpp @@ -306,7 +306,7 @@ namespace chaiscript std::vector args; - while (true) + while (!(parg == params.end() && barg == m_args.end())) { while (barg != m_args.end() && !(barg->get_type_info() == detail::Get_Type_Info::get())) @@ -326,11 +326,6 @@ namespace chaiscript { ++barg; } - - if (parg == params.end() && barg == m_args.end()) - { - break; - } } return args; } diff --git a/include/chaiscript/language/chaiscript_common.hpp b/include/chaiscript/language/chaiscript_common.hpp index 7d90356..844469a 100644 --- a/include/chaiscript/language/chaiscript_common.hpp +++ b/include/chaiscript/language/chaiscript_common.hpp @@ -7,13 +7,6 @@ #ifndef _CHAISCRIPT_COMMON_HPP #define _CHAISCRIPT_COMMON_HPP - -#ifdef BOOST_HAS_DECLSPEC -#define CHAISCRIPT_MODULE_EXPORT extern "C" __declspec(dllexport) -#else -#define CHAISCRIPT_MODULE_EXPORT extern "C" -#endif - namespace chaiscript { typedef ModulePtr (*Create_Module_Func)(); diff --git a/include/chaiscript/language/chaiscript_engine.hpp b/include/chaiscript/language/chaiscript_engine.hpp index 184e195..5d66b1c 100644 --- a/include/chaiscript/language/chaiscript_engine.hpp +++ b/include/chaiscript/language/chaiscript_engine.hpp @@ -15,7 +15,9 @@ #ifdef _POSIX_VERSION #include #else -#ifdef WIN32 +#ifdef BOOST_WINDOWS +#define VC_EXTRA_LEAN +#define WIN32_LEAN_AND_MEAN #include #endif #endif diff --git a/src/main.cpp b/src/main.cpp index 9228190..b4b2d51 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,7 +17,6 @@ #include - void print_help() { std::cout << "ChaiScript evaluator. To evaluate an expression, type it and press ." << std::endl; std::cout << "Additionally, you can inspect the runtime system using:" << std::endl; @@ -58,8 +57,19 @@ int main(int argc, char *argv[]) { std::vector usepaths; std::vector modulepaths; + + // Disable deprecation warning for getenv call. +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable : 4996) +#endif + const char *usepath = getenv("CHAI_USE_PATH"); const char *modulepath = getenv("CHAI_MODULE_PATH"); + +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif usepaths.push_back("");