diff --git a/Changes b/Changes index df4155757..659eb8bba 100644 --- a/Changes +++ b/Changes @@ -4,6 +4,8 @@ The contributors that suggested a given feature are shown in []. Thanks! * Verilator 4.039 devel +*** Fix arrayed interfaces, broke in 4.038 (#2468). [Josh Redford] + * Verilator 4.038 2020-07-11 diff --git a/src/V3LinkDot.cpp b/src/V3LinkDot.cpp index 53a40ee1d..df29eec9f 100644 --- a/src/V3LinkDot.cpp +++ b/src/V3LinkDot.cpp @@ -429,7 +429,9 @@ public: static AstIfaceRefDType* ifaceRefFromArray(AstNodeDType* nodep) { AstIfaceRefDType* ifacerefp = VN_CAST(nodep, IfaceRefDType); if (!ifacerefp) { - if (AstUnpackArrayDType* arrp = VN_CAST(nodep, UnpackArrayDType)) { + if (AstBracketArrayDType* arrp = VN_CAST(nodep, BracketArrayDType)) { + ifacerefp = VN_CAST(arrp->subDTypep(), IfaceRefDType); + } else if (AstUnpackArrayDType* arrp = VN_CAST(nodep, UnpackArrayDType)) { ifacerefp = VN_CAST(arrp->subDTypep(), IfaceRefDType); } }