Internals: Add missing VL_DO_CLEARs. No functional change.

This commit is contained in:
Wilson Snyder 2020-04-04 13:06:31 -04:00
parent b2228afd1a
commit a13eab55f5
5 changed files with 26 additions and 21 deletions

View File

@ -245,7 +245,8 @@ Verilated::NonSerialized::NonSerialized() {
}
Verilated::NonSerialized::~NonSerialized() {
if (s_profThreadsFilenamep) {
free(const_cast<char*>(s_profThreadsFilenamep)); s_profThreadsFilenamep=NULL;
VL_DO_CLEAR(free(const_cast<char*>(s_profThreadsFilenamep)),
s_profThreadsFilenamep = NULL);
}
}
@ -2265,7 +2266,7 @@ VerilatedModule::VerilatedModule(const char* namep)
VerilatedModule::~VerilatedModule() {
// Memory cleanup - not called during normal operation
// NOLINTNEXTLINE(google-readability-casting)
if (m_namep) { free((void*)(m_namep)); m_namep=NULL; }
if (m_namep) VL_DO_CLEAR(free((void*)(m_namep)), m_namep = NULL);
}
//======================================================================
@ -2322,9 +2323,9 @@ VerilatedScope::VerilatedScope() {
VerilatedScope::~VerilatedScope() {
// Memory cleanup - not called during normal operation
VerilatedImp::scopeErase(this);
if (m_namep) { delete [] m_namep; m_namep = NULL; }
if (m_callbacksp) { delete [] m_callbacksp; m_callbacksp = NULL; }
if (m_varsp) { delete m_varsp; m_varsp = NULL; }
if (m_namep) VL_DO_CLEAR(delete [] m_namep, m_namep = NULL);
if (m_callbacksp) VL_DO_CLEAR(delete [] m_callbacksp, m_callbacksp = NULL);
if (m_varsp) VL_DO_CLEAR(delete m_varsp, m_varsp = NULL);
m_funcnumMax = 0; // Force callback table to empty
}

View File

@ -54,7 +54,7 @@ public:
}
virtual ~VerilatedSerialize() {
close();
if (m_bufp) { delete m_bufp; m_bufp=NULL; }
if (m_bufp) VL_DO_CLEAR(delete m_bufp, m_bufp = NULL);
}
// METHODS
bool isOpen() const { return m_isOpen; }
@ -107,6 +107,7 @@ protected:
// CONSTRUCTORS
VL_UNCOPYABLE(VerilatedDeserialize);
public:
VerilatedDeserialize() {
m_isOpen = false;
@ -116,7 +117,7 @@ public:
}
virtual ~VerilatedDeserialize() {
close();
if (m_bufp) { delete m_bufp; m_bufp=NULL; }
if (m_bufp) VL_DO_CLEAR(delete m_bufp, m_bufp = NULL);
}
// METHODS
bool isOpen() const { return m_isOpen; }
@ -160,10 +161,12 @@ private:
public:
// CONSTRUCTORS
VerilatedSave() { m_fd = -1; }
VerilatedSave()
: m_fd(-1) {}
virtual ~VerilatedSave() VL_OVERRIDE { close(); }
// METHODS
void open(const char* filenamep) VL_MT_UNSAFE_ONE; ///< Open the file; call isOpen() to see if errors
/// Open the file; call isOpen() to see if errors
void open(const char* filenamep) VL_MT_UNSAFE_ONE;
void open(const std::string& filename) VL_MT_UNSAFE_ONE { open(filename.c_str()); }
virtual void close() VL_OVERRIDE VL_MT_UNSAFE_ONE;
virtual void flush() VL_OVERRIDE VL_MT_UNSAFE_ONE;
@ -179,7 +182,8 @@ private:
public:
// CONSTRUCTORS
VerilatedRestore() { m_fd = -1; }
VerilatedRestore()
: m_fd(-1) {}
virtual ~VerilatedRestore() VL_OVERRIDE { close(); }
// METHODS

View File

@ -265,17 +265,17 @@ void VerilatedVcd::makeNameMap() {
}
void VerilatedVcd::deleteNameMap() {
if (m_namemapp) { delete m_namemapp; m_namemapp=NULL; }
if (m_namemapp) VL_DO_CLEAR(delete m_namemapp, m_namemapp = NULL);
}
VerilatedVcd::~VerilatedVcd() {
close();
if (m_wrBufp) { delete[] m_wrBufp; m_wrBufp=NULL; }
if (m_sigs_oldvalp) { delete[] m_sigs_oldvalp; m_sigs_oldvalp=NULL; }
if (m_wrBufp) VL_DO_CLEAR(delete[] m_wrBufp, m_wrBufp = NULL);
if (m_sigs_oldvalp) VL_DO_CLEAR(delete[] m_sigs_oldvalp, m_sigs_oldvalp = NULL);
deleteNameMap();
if (m_filep && m_fileNewed) { delete m_filep; m_filep = NULL; }
for (CallbackVec::const_iterator it=m_callbacks.begin(); it!=m_callbacks.end(); ++it) {
delete (*it);
if (m_filep && m_fileNewed) VL_DO_CLEAR(delete m_filep, m_filep = NULL);
for (CallbackVec::const_iterator it = m_callbacks.begin(); it != m_callbacks.end(); ++it) {
delete *it;
}
m_callbacks.clear();
VerilatedVcdSingleton::removeVcd(this);
@ -347,12 +347,12 @@ void VerilatedVcd::bufferResize(vluint64_t minsize) {
// writing when we are 3/4 full (with thus 2*minsize remaining free)
if (VL_UNLIKELY(minsize > m_wrChunkSize)) {
char* oldbufp = m_wrBufp;
m_wrChunkSize = minsize*2;
m_wrBufp = new char [m_wrChunkSize * 8];
m_wrChunkSize = minsize * 2;
m_wrBufp = new char[m_wrChunkSize * 8];
memcpy(m_wrBufp, oldbufp, m_writep - oldbufp);
m_writep = m_wrBufp + (m_writep - oldbufp);
m_wrFlushp = m_wrBufp + m_wrChunkSize * 6;
delete [] oldbufp; oldbufp=NULL;
VL_DO_CLEAR(delete[] oldbufp, oldbufp = NULL);
}
}

View File

@ -204,7 +204,7 @@ public:
m_varDatap = varp->datap();
}
virtual ~VerilatedVpioVar() {
if (m_prevDatap) { delete [] m_prevDatap; m_prevDatap = NULL; }
if (m_prevDatap) VL_DO_CLEAR(delete[] m_prevDatap, m_prevDatap = NULL);
}
static inline VerilatedVpioVar* castp(vpiHandle h) {
return dynamic_cast<VerilatedVpioVar*>(reinterpret_cast<VerilatedVpio*>(h));

View File

@ -61,7 +61,7 @@ public:
}
~VlcBuckets() {
m_dataSize = 0;
free(m_datap); m_datap = NULL;
VL_DO_CLEAR(free(m_datap), m_datap = NULL);
}
// ACCESSORS