diff --git a/elab_scope.cc b/elab_scope.cc index aacedcc63..fe39506e9 100644 --- a/elab_scope.cc +++ b/elab_scope.cc @@ -186,8 +186,7 @@ static void elaborate_scope_enumeration(Design*des, NetScope*scope, netenum_t*use_enum = new netenum_t(enum_type->base_type, enum_type->signed_flag, enum_type->integer_flag, range, - enum_type->names->size(), - enum_type); + enum_type->names->size()); use_enum->set_line(*enum_type); scope->add_enumeration_set(enum_type, use_enum); diff --git a/netenum.cc b/netenum.cc index bb53088bc..7ff455926 100644 --- a/netenum.cc +++ b/netenum.cc @@ -24,11 +24,9 @@ using namespace std; netenum_t::netenum_t(ivl_variable_type_t btype, bool signed_flag, - bool integer_flag, const netrange_t &range, size_t name_count, - enum_type_t*enum_type) -: base_type_(btype), enum_type_(enum_type), signed_flag_(signed_flag), - integer_flag_(integer_flag), range_(range), - names_(name_count), bits_(name_count) + bool integer_flag, const netrange_t &range, size_t name_count) +: base_type_(btype), signed_flag_(signed_flag), integer_flag_(integer_flag), + range_(range), names_(name_count), bits_(name_count) { } @@ -159,5 +157,5 @@ perm_string netenum_t::bits_at(size_t idx) const bool netenum_t::matches(const netenum_t*other) const { - return enum_type_ == other->enum_type_; + return this == other; } diff --git a/netenum.h b/netenum.h index b05675cfe..94f7cd8cd 100644 --- a/netenum.h +++ b/netenum.h @@ -29,14 +29,12 @@ class NetScope; -struct enum_type_t; - class netenum_t : public LineInfo, public ivl_type_s { public: explicit netenum_t(ivl_variable_type_t base_type, bool signed_flag, bool isint_flag, const netrange_t &range, - size_t name_count, enum_type_t*enum_type); + size_t name_count); ~netenum_t(); virtual ivl_variable_type_t base_type() const; @@ -74,7 +72,6 @@ class netenum_t : public LineInfo, public ivl_type_s { private: ivl_variable_type_t base_type_; - enum_type_t*enum_type_; bool signed_flag_; bool integer_flag_; netrange_t range_;