diff --git a/pform_types.cc b/pform_types.cc index 72f312619..21dc725ab 100644 --- a/pform_types.cc +++ b/pform_types.cc @@ -48,6 +48,16 @@ ivl_variable_type_t vector_type_t::figure_packed_base_type(void) const return base_type; } +ivl_variable_type_t enum_type_t::figure_packed_base_type() const +{ + return base_type; +} + +ivl_variable_type_t atom2_type_t::figure_packed_base_type() const +{ + return IVL_VT_BOOL; +} + atom2_type_t size_type (32, true); PNamedItem::SymbolType enum_type_t::symbol_type() const diff --git a/pform_types.h b/pform_types.h index a323fd999..4e67a72db 100644 --- a/pform_types.h +++ b/pform_types.h @@ -182,6 +182,8 @@ struct enum_type_t : public data_type_t { // Return the elaborated version of the type. virtual ivl_type_s*elaborate_type_raw(Design*des, NetScope*scope) const; + ivl_variable_type_t figure_packed_base_type() const; + SymbolType symbol_type() const; ivl_variable_type_t base_type; @@ -217,6 +219,8 @@ struct atom2_type_t : public data_type_t { virtual std::ostream& debug_dump(std::ostream&out) const; ivl_type_s* elaborate_type_raw(Design*des, NetScope*scope) const; + + ivl_variable_type_t figure_packed_base_type() const; }; extern atom2_type_t size_type;