3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-06 15:25:46 +00:00

fail gracefully on interpolation errors

This commit is contained in:
Ken McMillan 2015-07-10 14:39:11 -07:00
parent 1cf24f7cdc
commit e6516f549d
5 changed files with 74 additions and 16 deletions

View file

@ -206,17 +206,13 @@ static expr *make_tree(cmd_context & ctx, const ptr_vector<expr> &exprs){
}
static void get_interpolant(cmd_context & ctx, const ptr_vector<expr> &exprs, params_ref &m_params) {
expr *foo = make_tree(ctx,exprs);
ctx.m().inc_ref(foo);
get_interpolant(ctx,foo,m_params);
ctx.m().dec_ref(foo);
expr_ref foo(make_tree(ctx, exprs),ctx.m());
get_interpolant(ctx,foo.get(),m_params);
}
static void compute_interpolant(cmd_context & ctx, const ptr_vector<expr> &exprs, params_ref &m_params) {
expr *foo = make_tree(ctx, exprs);
ctx.m().inc_ref(foo);
compute_interpolant_and_maybe_check(ctx,foo,m_params,false);
ctx.m().dec_ref(foo);
expr_ref foo(make_tree(ctx, exprs),ctx.m());
compute_interpolant_and_maybe_check(ctx,foo.get(),m_params,false);
}