Skip to content

Commit 53564c1

Browse files
authored
Merge pull request #6140 from tautschnig/postponed
Equip bv_pointerst::postponedt with a constructor
2 parents 192d25c + df6e264 commit 53564c1

File tree

2 files changed

+9
-12
lines changed

2 files changed

+9
-12
lines changed

src/solvers/flattening/bv_pointers.cpp

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,7 @@ literalt bv_pointerst::convert_rest(const exprt &expr)
157157
// we postpone
158158
literalt l=prop.new_variable();
159159

160-
postponed_list.push_back(postponedt());
161-
postponed_list.back().op = convert_bv(operands[0]);
162-
postponed_list.back().bv.push_back(l);
163-
postponed_list.back().expr = expr;
160+
postponed_list.emplace_back(bvt{1, l}, convert_bv(operands[0]), expr);
164161

165162
return l;
166163
}
@@ -646,15 +643,10 @@ bvt bv_pointerst::convert_bitvector(const exprt &expr)
646643
// we postpone until we know the objects
647644
std::size_t width=boolbv_width(expr.type());
648645

649-
bvt bv = prop.new_variables(width);
650-
651-
postponed_list.push_back(postponedt());
646+
postponed_list.emplace_back(
647+
prop.new_variables(width), convert_bv(to_unary_expr(expr).op()), expr);
652648

653-
postponed_list.back().op = convert_bv(to_unary_expr(expr).op());
654-
postponed_list.back().bv=bv;
655-
postponed_list.back().expr=expr;
656-
657-
return bv;
649+
return postponed_list.back().bv;
658650
}
659651
else if(
660652
expr.id() == ID_pointer_object &&

src/solvers/flattening/bv_pointers.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,11 @@ class bv_pointerst:public boolbvt
9898
{
9999
bvt bv, op;
100100
exprt expr;
101+
102+
postponedt(bvt _bv, bvt _op, exprt _expr)
103+
: bv(std::move(_bv)), op(std::move(_op)), expr(std::move(_expr))
104+
{
105+
}
101106
};
102107

103108
typedef std::list<postponedt> postponed_listt;

0 commit comments

Comments
 (0)