From 5f1cd624fe4f097c58b4a8764a851ad9f0230707 Mon Sep 17 00:00:00 2001 From: Maciej Suminski Date: Thu, 11 Feb 2016 15:23:52 +0100 Subject: [PATCH] vhdlpp: Set reg flag only for arrays of unpacked types. --- vhdlpp/vsignal.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vhdlpp/vsignal.cc b/vhdlpp/vsignal.cc index e39142f6b..0b2d2323c 100644 --- a/vhdlpp/vsignal.cc +++ b/vhdlpp/vsignal.cc @@ -54,7 +54,10 @@ int Signal::emit(ostream&out, Entity*ent, ScopeBase*scope) VType::decl_t decl; type_elaborate_(decl); - if (peek_refcnt_sequ_() > 0 || !peek_type()->can_be_packed()) + + const VType*type = peek_type(); + if (peek_refcnt_sequ_() > 0 + || (!type->can_be_packed() && dynamic_cast(type))) decl.reg_flag = true; errors += decl.emit(out, peek_name());