mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #9094 from ethereum/conversionWarningsSmtUtil
Adding fixes for signedness warnings in smtutil
This commit is contained in:
commit
b9f2697a3c
@ -246,7 +246,7 @@ CVC4::Expr CVC4Interface::toCVC4Expr(Expression const& _expr)
|
|||||||
smtAssert(tupleSort, "");
|
smtAssert(tupleSort, "");
|
||||||
CVC4::DatatypeType tt = m_context.mkTupleType(cvc4Sort(tupleSort->components));
|
CVC4::DatatypeType tt = m_context.mkTupleType(cvc4Sort(tupleSort->components));
|
||||||
CVC4::Datatype const& dt = tt.getDatatype();
|
CVC4::Datatype const& dt = tt.getDatatype();
|
||||||
size_t index = std::stoi(_expr.arguments[1].name);
|
size_t index = std::stoul(_expr.arguments[1].name);
|
||||||
CVC4::Expr s = dt[0][index].getSelector();
|
CVC4::Expr s = dt[0][index].getSelector();
|
||||||
return m_context.mkExpr(CVC4::kind::APPLY_SELECTOR, s, arguments[0]);
|
return m_context.mkExpr(CVC4::kind::APPLY_SELECTOR, s, arguments[0]);
|
||||||
}
|
}
|
||||||
|
@ -184,7 +184,7 @@ string SMTLib2Interface::toSExpr(Expression const& _expr)
|
|||||||
{
|
{
|
||||||
smtAssert(_expr.arguments.size() == 2, "");
|
smtAssert(_expr.arguments.size() == 2, "");
|
||||||
auto tupleSort = dynamic_pointer_cast<TupleSort>(_expr.arguments.at(0).sort);
|
auto tupleSort = dynamic_pointer_cast<TupleSort>(_expr.arguments.at(0).sort);
|
||||||
unsigned index = std::stoi(_expr.arguments.at(1).name);
|
size_t index = std::stoul(_expr.arguments.at(1).name);
|
||||||
smtAssert(index < tupleSort->members.size(), "");
|
smtAssert(index < tupleSort->members.size(), "");
|
||||||
sexpr += "|" + tupleSort->members.at(index) + "| " + toSExpr(_expr.arguments.at(0));
|
sexpr += "|" + tupleSort->members.at(index) + "| " + toSExpr(_expr.arguments.at(0));
|
||||||
}
|
}
|
||||||
|
@ -207,7 +207,7 @@ z3::expr Z3Interface::toZ3Expr(Expression const& _expr)
|
|||||||
}
|
}
|
||||||
else if (n == "tuple_get")
|
else if (n == "tuple_get")
|
||||||
{
|
{
|
||||||
size_t index = std::stoi(_expr.arguments[1].name);
|
size_t index = stoul(_expr.arguments[1].name);
|
||||||
return z3::func_decl(m_context, Z3_get_tuple_sort_field_decl(m_context, z3Sort(*_expr.arguments[0].sort), index))(arguments[0]);
|
return z3::func_decl(m_context, Z3_get_tuple_sort_field_decl(m_context, z3Sort(*_expr.arguments[0].sort), index))(arguments[0]);
|
||||||
}
|
}
|
||||||
else if (n == "tuple_constructor")
|
else if (n == "tuple_constructor")
|
||||||
|
Loading…
Reference in New Issue
Block a user