mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #6706 from ethereum/smt_deterministic_merge
[SMTChecker] Make mergeVariables deterministic
This commit is contained in:
commit
8f2c8daf22
@ -1716,7 +1716,11 @@ TypePointer SMTChecker::typeWithoutPointer(TypePointer const& _type)
|
||||
|
||||
void SMTChecker::mergeVariables(set<VariableDeclaration const*> const& _variables, smt::Expression const& _condition, VariableIndices const& _indicesEndTrue, VariableIndices const& _indicesEndFalse)
|
||||
{
|
||||
for (auto const* decl: _variables)
|
||||
auto cmp = [] (VariableDeclaration const* var1, VariableDeclaration const* var2) {
|
||||
return var1->id() < var2->id();
|
||||
};
|
||||
set<VariableDeclaration const*, decltype(cmp)> sortedVars(begin(_variables), end(_variables), cmp);
|
||||
for (auto const* decl: sortedVars)
|
||||
{
|
||||
solAssert(_indicesEndTrue.count(decl) && _indicesEndFalse.count(decl), "");
|
||||
int trueIndex = _indicesEndTrue.at(decl);
|
||||
|
Loading…
Reference in New Issue
Block a user