binpac: Replace delete_list macro uses

This commit is contained in:
Tim Wojtulewicz 2025-08-21 11:10:56 -07:00
parent 64b3265eb8
commit 4dc546f8c8
13 changed files with 32 additions and 31 deletions

View file

@ -34,14 +34,14 @@ AnalyzerDecl::AnalyzerDecl(ID* id, DeclType decl_type, ParamList* params) : Type
}
AnalyzerDecl::~AnalyzerDecl() {
delete_list(StateVarList, statevars_);
delete_list(AnalyzerActionList, actions_);
delete_list(AnalyzerHelperList, helpers_);
delete_list(FunctionList, functions_);
delete_list(ParamList, params_);
delete_list(AnalyzerHelperList, constructor_helpers_);
delete_list(AnalyzerHelperList, destructor_helpers_);
delete_list(AnalyzerHelperList, eof_helpers_);
delete_list(statevars_);
delete_list(actions_);
delete_list(helpers_);
delete_list(functions_);
delete_list(params_);
delete_list(constructor_helpers_);
delete_list(destructor_helpers_);
delete_list(eof_helpers_);
}
void AnalyzerDecl::AddElements(AnalyzerElementList* elemlist) {

View file

@ -219,7 +219,7 @@ CaseField::CaseField(ExprList* index, ID* id, Type* type)
index_var_ = nullptr;
}
CaseField::~CaseField() { delete_list(ExprList, index_); }
CaseField::~CaseField() { delete_list(index_); }
void GenCaseStr(ExprList* index_list, Output* out_cc, Env* env, Type* switch_type) {
if ( index_list ) {

View file

@ -108,12 +108,12 @@ typedef vector<StateVar*> StateVarList;
if ( pc ) \
for ( ct::iterator i = (pc)->begin(); i != (pc)->end(); ++i )
#define delete_list(ct, pc) \
{ \
foreach (delete_list_i, ct, pc) \
delete *delete_list_i; \
delete pc; \
pc = 0; \
template<typename T>
constexpr void delete_list(T* container) {
for ( auto& i : *container )
delete i;
delete container;
}
// Constants

View file

@ -53,7 +53,7 @@ AnalyzerContextDecl::AnalyzerContextDecl(ID* id, ContextFieldList* context_field
AnalyzerContextDecl::~AnalyzerContextDecl() {
delete context_name_id_;
delete param_type_;
delete_list(ContextFieldList, context_fields_);
delete_list(context_fields_);
}
void AnalyzerContextDecl::GenForwardDeclaration(Output* out_h) {

View file

@ -32,7 +32,7 @@ Decl::Decl(ID* id, DeclType decl_type) : id_(id), decl_type_(decl_type), attrlis
Decl::~Decl() {
delete id_;
delete_list(AttrList, attrlist_);
delete_list(attrlist_);
}
void Decl::AddAttrs(AttrList* attrs) {

View file

@ -20,7 +20,7 @@ string EmbeddedCodeSegment::ToCode(Env* env) {
EmbeddedCode::EmbeddedCode() { segments_ = new EmbeddedCodeSegmentList(); }
EmbeddedCode::~EmbeddedCode() { delete_list(EmbeddedCodeSegmentList, segments_); }
EmbeddedCode::~EmbeddedCode() { delete_list(segments_); }
void EmbeddedCode::Append(int atom) { current_segment_ += static_cast<char>(atom); }

View file

@ -34,7 +34,7 @@ EnumDecl::EnumDecl(ID* id, EnumList* enumlist) : Decl(id, ENUM), enumlist_(enuml
}
EnumDecl::~EnumDecl() {
delete_list(EnumList, enumlist_);
delete_list(enumlist_);
delete extern_typedecl_;
}

View file

@ -155,8 +155,8 @@ Expr::~Expr() {
delete operand_[0];
delete operand_[1];
delete operand_[2];
delete_list(ExprList, args_);
delete_list(CaseExprList, cases_);
delete_list(args_);
delete_list(cases_);
}
void Expr::AddCaseExpr(CaseExpr* case_expr) {
@ -841,7 +841,8 @@ CaseExpr::CaseExpr(ExprList* index, Expr* value)
: DataDepElement(DataDepElement::CASEEXPR), index_(index), value_(value) {}
CaseExpr::~CaseExpr() {
delete_list(ExprList, index_);
delete_list(index_);
index_ = nullptr;
delete value_;
}

View file

@ -18,7 +18,7 @@ Field::Field(FieldType tof, int flags, ID* id, Type* type)
Field::~Field() {
delete id_;
delete type_;
delete_list(AttrList, attrs_);
delete_list(attrs_);
}
void Field::AddAttr(AttrList* attrs) {

View file

@ -17,7 +17,7 @@ Function::Function(ID* id, Type* type, ParamList* params)
Function::~Function() {
delete id_;
delete type_;
delete_list(ParamList, params_);
delete_list(params_);
delete env_;
delete expr_;
delete code_;

View file

@ -29,7 +29,7 @@ RecordType::RecordType(RecordFieldList* record_fields) : Type(RECORD) {
}
RecordType::~RecordType() {
// Do not delete_list(RecordFieldList, record_fields_)
// Do not delete_list(record_fields_)
// because the fields are also in fields_.
delete record_fields_;
delete parsing_dataptr_var_field_;

View file

@ -75,14 +75,14 @@ Type::~Type() {
delete buffering_state_var_field_;
delete has_value_field_;
delete[] size_expr_;
delete_list(FieldList, fields_);
delete_list(fields_);
delete attrs_;
delete attr_byteorder_expr_;
delete attr_if_expr_;
delete attr_length_expr_;
delete_list(ExprList, attr_checks_);
delete_list(ExprList, attr_enforces_);
delete_list(ExprList, attr_requires_);
delete_list(attr_checks_);
delete_list(attr_enforces_);
delete_list(attr_requires_);
}
Type* Type::Clone() const {

View file

@ -27,7 +27,7 @@ TypeDecl::~TypeDecl() {
delete env_;
delete type_;
delete_list(ParamList, params_);
delete_list(params_);
}
void TypeDecl::ProcessAttr(Attr* a) { type_->ProcessAttr(a); }