mirror of https://github.com/YosysHQ/yosys.git
added destructors for wires and cells
This commit is contained in:
parent
55df7fff19
commit
e7d3f3cd46
|
@ -2223,6 +2223,13 @@ RTLIL::Wire::Wire()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RTLIL::Wire::~Wire()
|
||||||
|
{
|
||||||
|
#ifdef WITH_PYTHON
|
||||||
|
RTLIL::Wire::get_all_wires()->erase(hashidx_);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef WITH_PYTHON
|
#ifdef WITH_PYTHON
|
||||||
static std::map<unsigned int, RTLIL::Wire*> *all_wires = new std::map<unsigned int, RTLIL::Wire*>();
|
static std::map<unsigned int, RTLIL::Wire*> *all_wires = new std::map<unsigned int, RTLIL::Wire*>();
|
||||||
std::map<unsigned int, RTLIL::Wire*> *RTLIL::Wire::get_all_wires(void)
|
std::map<unsigned int, RTLIL::Wire*> *RTLIL::Wire::get_all_wires(void)
|
||||||
|
@ -2256,6 +2263,13 @@ RTLIL::Cell::Cell() : module(nullptr)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RTLIL::Cell::~Cell()
|
||||||
|
{
|
||||||
|
#ifdef WITH_PYTHON
|
||||||
|
RTLIL::Cell::get_all_cells()->erase(hashidx_);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef WITH_PYTHON
|
#ifdef WITH_PYTHON
|
||||||
static std::map<unsigned int, RTLIL::Cell*> *all_cells = new std::map<unsigned int, RTLIL::Cell*>();
|
static std::map<unsigned int, RTLIL::Cell*> *all_cells = new std::map<unsigned int, RTLIL::Cell*>();
|
||||||
std::map<unsigned int, RTLIL::Cell*> *RTLIL::Cell::get_all_cells(void)
|
std::map<unsigned int, RTLIL::Cell*> *RTLIL::Cell::get_all_cells(void)
|
||||||
|
|
|
@ -1149,7 +1149,7 @@ protected:
|
||||||
// use module->addWire() and module->remove() to create or destroy wires
|
// use module->addWire() and module->remove() to create or destroy wires
|
||||||
friend struct RTLIL::Module;
|
friend struct RTLIL::Module;
|
||||||
Wire();
|
Wire();
|
||||||
~Wire() { };
|
~Wire();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// do not simply copy wires
|
// do not simply copy wires
|
||||||
|
@ -1186,6 +1186,7 @@ protected:
|
||||||
// use module->addCell() and module->remove() to create or destroy cells
|
// use module->addCell() and module->remove() to create or destroy cells
|
||||||
friend struct RTLIL::Module;
|
friend struct RTLIL::Module;
|
||||||
Cell();
|
Cell();
|
||||||
|
~Cell();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// do not simply copy cells
|
// do not simply copy cells
|
||||||
|
|
Loading…
Reference in New Issue