3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

address divergence in the case of shared theory symbols. Codeplex issue 147, thanks to George Karpenkov

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-12-09 16:04:25 +01:00
commit 08cb8b8de8
74 changed files with 1280 additions and 896 deletions

View file

@ -513,3 +513,26 @@ void interpolation_options_struct::apply(iz3base &b){
b.set_option((*it).first,(*it).second);
}
// On linux and mac, unlimit stack space so we get recursion
#if defined(_WINDOWS) || defined(_CYGWIN)
#else
#include <sys/time.h>
#include <sys/resource.h>
class iz3stack_unlimiter {
public:
iz3stack_unlimiter() {
struct rlimit rl = {RLIM_INFINITY, RLIM_INFINITY};
setrlimit(RLIMIT_STACK, &rl);
// nothing to be done if above fails
}
};
// initializing this will unlimit stack
iz3stack_unlimiter the_iz3stack_unlimiter;
#endif

View file

@ -2,4 +2,5 @@ def_module_params('interp',
description='interpolation parameters',
export=True,
params=(('profile', BOOL, False, '(INTERP) profile interpolation'),
('check', BOOL, False, '(INTERP) check interpolants'),
))

View file

@ -3078,6 +3078,11 @@ public:
m().dec_ref(add_pos);
m().dec_ref(rewrite_A);
m().dec_ref(rewrite_B);
m().dec_ref(normal_step);
m().dec_ref(normal_chain);
m().dec_ref(normal);
m().dec_ref(sforall);
m().dec_ref(sexists);
}
};