File tree Expand file tree Collapse file tree 1 file changed +15
-14
lines changed Expand file tree Collapse file tree 1 file changed +15
-14
lines changed Original file line number Diff line number Diff line change @@ -257,7 +257,7 @@ literalt prop_conv_solvert::convert_bool(const exprt &expr)
257257 }
258258 else if (
259259 expr.id () == ID_or || expr.id () == ID_and || expr.id () == ID_xor ||
260- expr.id () == ID_nor || expr.id () == ID_nand)
260+ expr.id () == ID_nor || expr.id () == ID_nand || expr. id () == ID_xnor )
261261 {
262262 INVARIANT (
263263 !op.empty (),
@@ -268,19 +268,20 @@ literalt prop_conv_solvert::convert_bool(const exprt &expr)
268268 for (const auto &operand : op)
269269 bv.push_back (convert (operand));
270270
271- if (!bv.empty ())
272- {
273- if (expr.id () == ID_or)
274- return prop.lor (bv);
275- else if (expr.id () == ID_nor)
276- return !prop.lor (bv);
277- else if (expr.id () == ID_and)
278- return prop.land (bv);
279- else if (expr.id () == ID_nand)
280- return !prop.land (bv);
281- else if (expr.id () == ID_xor)
282- return prop.lxor (bv);
283- }
271+ CHECK_RETURN (!bv.empty ());
272+
273+ if (expr.id () == ID_or)
274+ return prop.lor (bv);
275+ else if (expr.id () == ID_nor)
276+ return !prop.lor (bv);
277+ else if (expr.id () == ID_and)
278+ return prop.land (bv);
279+ else if (expr.id () == ID_nand)
280+ return !prop.land (bv);
281+ else if (expr.id () == ID_xor)
282+ return prop.lxor (bv);
283+ else if (expr.id () == ID_xnor)
284+ return !prop.lxor (bv);
284285 }
285286 else if (expr.id () == ID_not)
286287 {
You can’t perform that action at this time.
0 commit comments