From edd274ccceac6d2f0702d45aaf1b220808f98358 Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Tue, 6 Oct 2009 02:26:47 +0000 Subject: [PATCH] Fix some more obscure warnings --- include/chaiscript/chaiscript.hpp | 6 +++++ .../chaiscript/dispatchkit/dispatchkit.hpp | 8 +++---- .../dispatchkit/proxy_functions.hpp | 2 +- .../chaiscript/language/chaiscript_engine.hpp | 3 +++ .../chaiscript/language/chaiscript_eval.hpp | 23 +++---------------- .../chaiscript/language/chaiscript_parser.hpp | 5 +++- 6 files changed, 21 insertions(+), 26 deletions(-) diff --git a/include/chaiscript/chaiscript.hpp b/include/chaiscript/chaiscript.hpp index de53280..cb0b52b 100644 --- a/include/chaiscript/chaiscript.hpp +++ b/include/chaiscript/chaiscript.hpp @@ -23,6 +23,12 @@ #include "dispatchkit/function_call.hpp" #include "dispatchkit/dynamic_object.hpp" +#ifdef BOOST_HAS_DECLSPEC +#define CHAISCRIPT_MODULE_EXPORT extern "C" __declspec(dllexport) +#else +#define CHAISCRIPT_MODULE_EXPORT extern "C" +#endif + #include "language/chaiscript_eval.hpp" #include "language/chaiscript_engine.hpp" diff --git a/include/chaiscript/dispatchkit/dispatchkit.hpp b/include/chaiscript/dispatchkit/dispatchkit.hpp index 20cbaa1..1f0e175 100644 --- a/include/chaiscript/dispatchkit/dispatchkit.hpp +++ b/include/chaiscript/dispatchkit/dispatchkit.hpp @@ -344,11 +344,11 @@ namespace chaiscript // Is it in the stack? for (int i = stack.get<1>().size()-1; i >= 0; --i) { - std::map::const_iterator itr = (stack.get<1>())[i].find(name); - if (itr != (stack.get<1>())[i].end()) + std::map::const_iterator stackitr = (stack.get<1>())[i].find(name); + if (stackitr != (stack.get<1>())[i].end()) { - cache[name] = itr->second; - return itr->second; + cache[name] = stackitr->second; + return stackitr->second; } } diff --git a/include/chaiscript/dispatchkit/proxy_functions.hpp b/include/chaiscript/dispatchkit/proxy_functions.hpp index 36f51d6..5bee2d0 100644 --- a/include/chaiscript/dispatchkit/proxy_functions.hpp +++ b/include/chaiscript/dispatchkit/proxy_functions.hpp @@ -359,7 +359,7 @@ namespace chaiscript { public: Proxy_Function_Impl(const boost::function &f) - : Proxy_Function_Base(build_param_type_list((Func *)(0))), + : Proxy_Function_Base(build_param_type_list(static_cast(0))), m_f(f), m_dummy_func(0) { } diff --git a/include/chaiscript/language/chaiscript_engine.hpp b/include/chaiscript/language/chaiscript_engine.hpp index 9cfb6a2..f3475f8 100644 --- a/include/chaiscript/language/chaiscript_engine.hpp +++ b/include/chaiscript/language/chaiscript_engine.hpp @@ -51,6 +51,9 @@ namespace chaiscript } } + DLModule(const DLModule &); // Explicitly unimplemented copy constructor + DLModule &operator=(const DLModule &); // Explicitly unimplemented assignment operator + ~DLModule() { dlclose(m_data); diff --git a/include/chaiscript/language/chaiscript_eval.hpp b/include/chaiscript/language/chaiscript_eval.hpp index b7c508d..526382b 100644 --- a/include/chaiscript/language/chaiscript_eval.hpp +++ b/include/chaiscript/language/chaiscript_eval.hpp @@ -152,22 +152,8 @@ namespace chaiscript */ template Boxed_Value eval_single_quoted_string(Eval_System &ss, const TokenPtr &node) { - /* - if (node->text.size() == 1) { - //return Boxed_Value(char(node->text[0])); - return const_var(char(node->text[0])); - } - else { - //return Boxed_Value(char((int)node->text[0] * 0xff + (int)node->text[0])); - return const_var(char((int)node->text[0] * 0xff + (int)node->text[0])); - } - */ - if (!node->is_cached) { - cache_const(ss, node, - node->text.size() == 1 ? - const_var(char(node->text[0])) : - const_var(char((int)node->text[0] * 0xff + (int)node->text[0]))); + cache_const(ss, node, const_var(char(node->text[0]))); } return node->cached_value; } @@ -177,10 +163,10 @@ namespace chaiscript */ template Boxed_Value eval_equation(Eval_System &ss, const TokenPtr &node) { - unsigned int i; + int i; Boxed_Value retval = eval_token(ss, node->children.back()); if (node->children.size() > 1) { - for (i = node->children.size()-3; ((int)i) >= 0; i -= 2) { + for (i = node->children.size()-3; i >= 0; i -= 2) { if (node->children[i+1]->text == "=") { Boxed_Value lhs = eval_token(ss, node->children[i]); @@ -552,7 +538,6 @@ namespace chaiscript */ template Boxed_Value eval_dot_access(Eval_System &ss, const TokenPtr &node) { - std::vector > fn; Dispatch_Engine::Stack prev_stack = ss.get_stack(); Dispatch_Engine::Stack new_stack = ss.new_stack(); unsigned int i, j; @@ -588,9 +573,7 @@ namespace chaiscript throw Eval_Error(ee.reason, node->children[i]); } try { - //fn = ss.get_function(fun_name); ss.set_stack(new_stack); - //retval = dispatch(fn, plb); retval = (*boxed_cast(fn))(plb); ss.set_stack(prev_stack); } diff --git a/include/chaiscript/language/chaiscript_parser.hpp b/include/chaiscript/language/chaiscript_parser.hpp index 2afeea2..ffb0b53 100644 --- a/include/chaiscript/language/chaiscript_parser.hpp +++ b/include/chaiscript/language/chaiscript_parser.hpp @@ -30,6 +30,9 @@ namespace chaiscript singleline_comment = "//"; } + ChaiScript_Parser(const ChaiScript_Parser &); // explicitly unimplemented copy constructor + ChaiScript_Parser &operator=(const ChaiScript_Parser &); // explicitly unimplemented assignment operator + /** * Prints the parsed tokens as a tree */ @@ -68,7 +71,7 @@ namespace chaiscript */ void build_match(Token_Type::Type match_type, int match_start) { //so we want to take everything to the right of this and make them children - if (match_start != (int)match_stack.size()) { + if (match_start != int(match_stack.size())) { TokenPtr t(new Token("", match_type, filename, match_stack[match_start]->start.line, match_stack[match_start]->start.column, line, col)); t->children.assign(match_stack.begin() + (match_start), match_stack.end()); match_stack.erase(match_stack.begin() + (match_start), match_stack.end());