diff --git a/src/util/bitvector_expr.h b/src/util/bitvector_expr.h index cd2b2a11c15..e9e3a32fde8 100644 --- a/src/util/bitvector_expr.h +++ b/src/util/bitvector_expr.h @@ -128,6 +128,11 @@ class bitor_exprt : public multi_ary_exprt : multi_ary_exprt(_op0, ID_bitor, std::move(_op1), _op0.type()) { } + + bitor_exprt(exprt::operandst _operands, typet _type) + : multi_ary_exprt(ID_bitor, std::move(_operands), std::move(_type)) + { + } }; template <> @@ -163,6 +168,11 @@ class bitxor_exprt : public multi_ary_exprt : multi_ary_exprt(std::move(_op0), ID_bitxor, std::move(_op1)) { } + + bitxor_exprt(exprt::operandst _operands, typet _type) + : multi_ary_exprt(ID_bitxor, std::move(_operands), std::move(_type)) + { + } }; template <> @@ -233,6 +243,11 @@ class bitand_exprt : public multi_ary_exprt : multi_ary_exprt(_op0, ID_bitand, std::move(_op1), _op0.type()) { } + + bitand_exprt(exprt::operandst _operands, typet _type) + : multi_ary_exprt(ID_bitand, std::move(_operands), std::move(_type)) + { + } }; template <> diff --git a/src/util/std_expr.h b/src/util/std_expr.h index 4fb4661ba78..8a4b0276f10 100644 --- a/src/util/std_expr.h +++ b/src/util/std_expr.h @@ -2299,6 +2299,11 @@ class xor_exprt:public multi_ary_exprt : multi_ary_exprt(std::move(_op0), ID_xor, std::move(_op1), bool_typet()) { } + + explicit xor_exprt(exprt::operandst _operands) + : multi_ary_exprt(ID_xor, std::move(_operands), bool_typet()) + { + } }; template <>