@@ -833,6 +833,34 @@ static smt_termt convert_expr_to_smt(const isnormal_exprt &is_normal_expr)
833
833
is_normal_expr.pretty ());
834
834
}
835
835
836
+ static smt_termt convert_expr_to_smt (const plus_overflow_exprt &plus_overflow)
837
+ {
838
+ UNIMPLEMENTED_FEATURE (
839
+ " Generation of SMT formula for plus overflow expression: " +
840
+ plus_overflow.pretty ());
841
+ }
842
+
843
+ static smt_termt convert_expr_to_smt (const minus_overflow_exprt &minus_overflow)
844
+ {
845
+ UNIMPLEMENTED_FEATURE (
846
+ " Generation of SMT formula for minus overflow expression: " +
847
+ minus_overflow.pretty ());
848
+ }
849
+
850
+ static smt_termt convert_expr_to_smt (const mult_overflow_exprt &mult_overflow)
851
+ {
852
+ UNIMPLEMENTED_FEATURE (
853
+ " Generation of SMT formula for multiply overflow expression: " +
854
+ mult_overflow.pretty ());
855
+ }
856
+
857
+ static smt_termt convert_expr_to_smt (const shl_overflow_exprt &shl_overflow)
858
+ {
859
+ UNIMPLEMENTED_FEATURE (
860
+ " Generation of SMT formula for shift left overflow expression: " +
861
+ shl_overflow.pretty ());
862
+ }
863
+
836
864
static smt_termt convert_expr_to_smt (const array_exprt &array_construction)
837
865
{
838
866
UNIMPLEMENTED_FEATURE (
@@ -1144,6 +1172,26 @@ smt_termt convert_expr_to_smt(const exprt &expr)
1144
1172
{
1145
1173
return convert_expr_to_smt (*is_normal_expr);
1146
1174
}
1175
+ if (
1176
+ const auto plus_overflow = expr_try_dynamic_cast<plus_overflow_exprt>(expr))
1177
+ {
1178
+ return convert_expr_to_smt (*plus_overflow);
1179
+ }
1180
+ if (
1181
+ const auto minus_overflow =
1182
+ expr_try_dynamic_cast<minus_overflow_exprt>(expr))
1183
+ {
1184
+ return convert_expr_to_smt (*minus_overflow);
1185
+ }
1186
+ if (
1187
+ const auto mult_overflow = expr_try_dynamic_cast<mult_overflow_exprt>(expr))
1188
+ {
1189
+ return convert_expr_to_smt (*mult_overflow);
1190
+ }
1191
+ if (const auto shl_overflow = expr_try_dynamic_cast<shl_overflow_exprt>(expr))
1192
+ {
1193
+ return convert_expr_to_smt (*shl_overflow);
1194
+ }
1147
1195
if (const auto array_construction = expr_try_dynamic_cast<array_exprt>(expr))
1148
1196
{
1149
1197
return convert_expr_to_smt (*array_construction);
0 commit comments