Skip to content

Commit 30306f1

Browse files
Handling of if_exprt in char array assignment
We handle that by calling constraint generation for "if" expressions.
1 parent f06649b commit 30306f1

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/solvers/refinement/string_refinement.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,12 +218,17 @@ bool string_refinementt::add_axioms_for_string_assigns(
218218
add_symbol_to_symbol_map(lhs, rhs);
219219
return false;
220220
}
221-
else if(rhs.id() == ID_nondet_symbol)
221+
else if(rhs.id()==ID_nondet_symbol)
222222
{
223223
add_symbol_to_symbol_map(
224224
lhs, generator.fresh_symbol("nondet_array", lhs.type()));
225225
return false;
226226
}
227+
else if(rhs.id()==ID_if)
228+
{
229+
generator.add_axioms_for_if_array(lhs, to_if_expr(rhs));
230+
return false;
231+
}
227232
else
228233
{
229234
debug() << "string_refinement warning: not handling char_array: "

0 commit comments

Comments
 (0)