Address sign promotion warnings, add todo test

This commit is contained in:
Jason Turner
2016-03-04 07:58:21 -07:00
parent 645377e191
commit d4f02b5e67
11 changed files with 51 additions and 28 deletions

View File

@@ -147,7 +147,7 @@ namespace chaiscript
}
size_t remaining() const {
return std::distance(m_pos, m_end);
return static_cast<size_t>(std::distance(m_pos, m_end));
}
char operator*() const {
@@ -2213,8 +2213,8 @@ namespace chaiscript
switch (m_operators[t_precedence]) {
case(AST_Node_Type::Ternary_Cond) :
m_match_stack.erase(m_match_stack.begin() + m_match_stack.size() - 2,
m_match_stack.begin() + m_match_stack.size() - 1);
m_match_stack.erase(advance_copy(m_match_stack.begin(), m_match_stack.size() - 2),
advance_copy(m_match_stack.begin(), m_match_stack.size() - 1));
if (Symbol(":")) {
if (!Operator(t_precedence+1)) {
throw exception::eval_error("Incomplete "
@@ -2239,7 +2239,8 @@ namespace chaiscript
case(AST_Node_Type::Bitwise_Or) :
case(AST_Node_Type::Comparison) :
assert(m_match_stack.size() > 1);
m_match_stack.erase(m_match_stack.begin() + m_match_stack.size() - 2, m_match_stack.begin() + m_match_stack.size() - 1);
m_match_stack.erase(advance_copy(m_match_stack.begin(), m_match_stack.size() - 2),
advance_copy(m_match_stack.begin(), m_match_stack.size() - 1));
build_match<eval::Binary_Operator_AST_Node>(prev_stack_top, oper->text);
break;