diff options
author | Morgan Deters <mdeters@gmail.com> | 2010-03-12 19:41:04 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2010-03-12 19:41:04 +0000 |
commit | 20b3dabb4823ede8147a08a47f8d909980414bee (patch) | |
tree | 6d6ea617bef8d840de8f8ff737e00acadb6675f9 /src/prop/prop_engine.h | |
parent | 3cf73e344987c2449943ca3a97054565eb9d5726 (diff) |
* Added shutdown() functions to SmtEngine, TheoryEngine, PropEngine,
DecisionEngine, and Theory. These are triggered from the SmtEngine
dtor before the other engines are deleted. This is important
because of potential issues with outstanding TNodes in Theory
implementations (which fail if the destruction is done in the wrong
order, in certain cases).
* Favor "FactQueueResetter" instead of clearAssertionQueues() for
resetting facts queue in Theory implementations.
* Better theory-rewriting code.
* Minor cleanups.
Diffstat (limited to 'src/prop/prop_engine.h')
-rw-r--r-- | src/prop/prop_engine.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/prop/prop_engine.h b/src/prop/prop_engine.h index 2ddbd24fc..d699153b2 100644 --- a/src/prop/prop_engine.h +++ b/src/prop/prop_engine.h @@ -77,6 +77,16 @@ public: CVC4_PUBLIC ~PropEngine(); /** + * This is called by SmtEngine, at shutdown time, just before + * destruction. It is important because there are destruction + * ordering issues between some parts of the system (notably between + * PropEngine and Theory). For now, there's nothing to do here in + * the PropEngine. + */ + void shutdown() { + } + + /** * Converts the given formula to CNF and assert the CNF to the sat solver. * The formula is asserted permanently for the current context. * @param node the formula to assert |