Fix destruction order in NodeManager (#4578)
authorAndres Noetzli <andres.noetzli@gmail.com>
Sat, 6 Jun 2020 16:14:40 +0000 (09:14 -0700)
committerGitHub <noreply@github.com>
Sat, 6 Jun 2020 16:14:40 +0000 (11:14 -0500)
commit2507dbb96587b8a1a23fb36d8e201e8ac77350de
tree2b140c841480267e5b06fdfd8ba3ceacd6dee14b
parentfd60da4a22f02f6f5b82cef3585240c1b33595e9
Fix destruction order in NodeManager (#4578)

Fixes #4576. ASan was reporting memory leaks because the skolem manager
was being destroyed after the attributes and zombies were already
cleaned up in the destructor of NodeManager. This commit changes the
destruction order to ensure that the skolem manager is destroyed before
the rest of the cleanup.

Note: this issue did not only make the benchmark in #4576 fail but
several tests in our regressions.
src/expr/node_manager.cpp
test/regress/CMakeLists.txt
test/regress/regress0/quantifiers/issue4576.smt2 [new file with mode: 0644]