diff --git a/include/chaiscript/dispatchkit/boxed_number.hpp b/include/chaiscript/dispatchkit/boxed_number.hpp index 66a7fa97..c78545d4 100644 --- a/include/chaiscript/dispatchkit/boxed_number.hpp +++ b/include/chaiscript/dispatchkit/boxed_number.hpp @@ -50,7 +50,6 @@ namespace chaiscript default: throw chaiscript::detail::exception::bad_any_cast(); } - throw chaiscript::detail::exception::bad_any_cast(); } }; @@ -146,7 +145,6 @@ namespace chaiscript default: throw chaiscript::detail::exception::bad_any_cast(); } - throw chaiscript::detail::exception::bad_any_cast(); } }; @@ -172,7 +170,6 @@ namespace chaiscript default: throw chaiscript::detail::exception::bad_any_cast(); } - throw chaiscript::detail::exception::bad_any_cast(); } }; diff --git a/src/chaiscript_stdlib.cpp b/src/chaiscript_stdlib.cpp index cef0473b..d4ea13e8 100644 --- a/src/chaiscript_stdlib.cpp +++ b/src/chaiscript_stdlib.cpp @@ -9,6 +9,11 @@ #pragma warning(disable : 4190) #endif +#ifdef __llvm__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreturn-type-c-linkage" +#endif + CHAISCRIPT_MODULE_EXPORT chaiscript::ModulePtr create_chaiscript_module_chaiscript_stdlib() { @@ -16,6 +21,10 @@ CHAISCRIPT_MODULE_EXPORT chaiscript::ModulePtr create_chaiscript_module_chaiscr } +#ifdef __llvm__ +#pragma clang diagnostic pop +#endif + #ifdef CHAISCRIPT_MSVC #pragma warning(pop) #endif diff --git a/src/main.cpp b/src/main.cpp index 44ff2120..4ef5e2c4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -23,6 +23,21 @@ char *mystrdup (const char *s) { return d; // Return the new string } +char* readline(const char* p) +{ + std::string retval; + std::cout << p ; + std::getline(std::cin, retval); + return std::cin.eof() ? NULL : mystrdup(retval.c_str()); +} + + +void add_history(const char*){} +void using_history(){} +#endif + + + void *cast_module_symbol(std::string (*t_path)()) { union cast_union @@ -38,9 +53,9 @@ void *cast_module_symbol(std::string (*t_path)()) std::string default_search_path() { -#ifdef CHAISCRIPT_WINDOWS - TCHAR path[2048]; - int size = GetModuleFileName(0, path, sizeof(path)-1); +#ifdef CHAISCRIPT_WINDOWS // force no unicode + CHAR path[4096]; + int size = GetModuleFileNameA(0, path, sizeof(path)-1); std::string exepath(path, size); @@ -101,19 +116,6 @@ std::string default_search_path() #endif } - -char* readline(const char* p) -{ - std::string retval; - std::cout << p ; - std::getline(std::cin, retval); - return std::cin.eof() ? NULL : mystrdup(retval.c_str()); -} - -void add_history(const char*){} -void using_history(){} -#endif - void help(int n) { if ( n >= 0 ) { std::cout << "ChaiScript evaluator. To evaluate an expression, type it and press ." << std::endl;