Skip to content

Commit 2452673

Browse files
committed
odb: fix code generator for _name to name_ change
The free call got lost. Signed-off-by: Matt Liberty <[email protected]>
1 parent f3cd476 commit 2452673

File tree

6 files changed

+20
-3
lines changed

6 files changed

+20
-3
lines changed

src/odb/src/codeGenerator/templates/impl.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,9 @@ namespace odb {
158158
_{{klass.name}}::~_{{klass.name}}()
159159
{
160160
{% for field in klass.fields %}
161-
{% if field.name == '_name' and 'no-destruct' not in field.flags %}
162-
if (_name) {
163-
free((void*) _name);
161+
{% if field.name == 'name_' and field.type == "char *" %}
162+
if (name_) {
163+
free((void*) name_);
164164
}
165165
{% endif %}
166166
{% if field.table %}

src/odb/src/db/dbChip.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
#include "odb/db.h"
2323
#include "odb/dbSet.h"
2424
// User Code Begin Includes
25+
#include <cstdlib>
26+
2527
#include "dbChipConnItr.h"
2628
#include "dbChipInst.h"
2729
#include "dbChipInstItr.h"
@@ -329,6 +331,9 @@ void _dbChip::collectMemInfo(MemInfo& info)
329331

330332
_dbChip::~_dbChip()
331333
{
334+
if (name_) {
335+
free((void*) name_);
336+
}
332337
delete prop_tbl_;
333338
delete chip_region_tbl_;
334339
delete marker_categories_tbl_;

src/odb/src/db/dbMarkerCategory.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ void _dbMarkerCategory::collectMemInfo(MemInfo& info)
132132

133133
_dbMarkerCategory::~_dbMarkerCategory()
134134
{
135+
if (name_) {
136+
free((void*) name_);
137+
}
135138
delete marker_tbl_;
136139
delete categories_tbl_;
137140
}

src/odb/src/db/dbModBTerm.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,9 @@ void _dbModBTerm::collectMemInfo(MemInfo& info)
145145

146146
_dbModBTerm::~_dbModBTerm()
147147
{
148+
if (name_) {
149+
free((void*) name_);
150+
}
148151
}
149152

150153
////////////////////////////////////////////////////////////////////

src/odb/src/db/dbModITerm.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,9 @@ void _dbModITerm::collectMemInfo(MemInfo& info)
133133

134134
_dbModITerm::~_dbModITerm()
135135
{
136+
if (name_) {
137+
free((void*) name_);
138+
}
136139
}
137140

138141
////////////////////////////////////////////////////////////////////

src/odb/src/db/dbModule.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ void _dbModule::collectMemInfo(MemInfo& info)
129129

130130
_dbModule::~_dbModule()
131131
{
132+
if (name_) {
133+
free((void*) name_);
134+
}
132135
// User Code Begin Destructor
133136
delete _port_iter;
134137
// User Code End Destructor

0 commit comments

Comments
 (0)