diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2016-10-31 10:45:27 -0500 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2016-10-31 10:45:27 -0500 |
commit | 3506b13f4d298095e8405b32b05e838f17dbe809 (patch) | |
tree | 96cfbaabd076c54f367cbc8b3d3560f5acda1f2b /src/expr/node_manager.cpp | |
parent | b1dea08db5a965d8d9d6f38bd05c280a8a126352 (diff) |
Minor refactoring in preparation for datatypes node cycle breaking.
Diffstat (limited to 'src/expr/node_manager.cpp')
-rw-r--r-- | src/expr/node_manager.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/expr/node_manager.cpp b/src/expr/node_manager.cpp index f7e76c06b..af4f89da1 100644 --- a/src/expr/node_manager.cpp +++ b/src/expr/node_manager.cpp @@ -176,6 +176,13 @@ NodeManager::~NodeManager() { d_tt_cache.d_children.clear(); d_rt_cache.d_children.clear(); + for( std::vector<Datatype*>::iterator datatype_iter = d_ownedDatatypes.begin(), datatype_end = d_ownedDatatypes.end(); + datatype_iter != datatype_end; ++datatype_iter) { + Datatype* datatype = *datatype_iter; + delete datatype; + } + d_ownedDatatypes.clear(); + Assert(!d_attrManager->inGarbageCollection() ); while(!d_zombies.empty()) { reclaimZombies(); |