Garbage collecting the MinisatEmptyNotify for the EagerBitblaster.
authorTim King <taking@cs.nyu.edu>
Wed, 23 Mar 2016 03:45:14 +0000 (20:45 -0700)
committerTim King <taking@cs.nyu.edu>
Wed, 23 Mar 2016 03:45:14 +0000 (20:45 -0700)
src/theory/bv/bitblaster_template.h
src/theory/bv/eager_bitblaster.cpp

index 9c6c4af9b49c16f8337dc8bc5c785354f8f79fb5..10e30c5c70eefa1b6ebb5060e3011999b289ba18 100644 (file)
@@ -266,6 +266,8 @@ class EagerBitblaster : public TBitblaster<Node> {
   TNodeSet d_bbAtoms;
   TNodeSet d_variables;
 
+  MinisatEmptyNotify d_notify;
+
   Node getModelFromSatSolver(TNode a, bool fullModel);
   bool isSharedTerm(TNode node);
 
index dd561667c44e32865b97434f20eb60f4b89196a4..77e75091d974bf16f71899c53479e56f078293a4 100644 (file)
@@ -36,9 +36,14 @@ void BitblastingRegistrar::preRegister(Node n) {
 
 EagerBitblaster::EagerBitblaster(TheoryBV* theory_bv)
   : TBitblaster<Node>()
+  , d_satSolver(NULL)
+  , d_bitblastingRegistrar(NULL)
+  , d_nullContext(NULL)
+  , d_cnfStream(NULL)
   , d_bv(theory_bv)
   , d_bbAtoms()
   , d_variables()
+  , d_notify()
 {
   d_bitblastingRegistrar = new BitblastingRegistrar(this);
   d_nullContext = new context::Context();
@@ -50,8 +55,7 @@ EagerBitblaster::EagerBitblaster(TheoryBV* theory_bv)
       d_satSolver, d_bitblastingRegistrar, d_nullContext, options::proof(),
       "EagerBitblaster");
 
-  MinisatEmptyNotify* notify = new MinisatEmptyNotify();
-  d_satSolver->setNotify(notify);
+  d_satSolver->setNotify(&d_notify);
   d_bvp = NULL;
 }