From c378d32c85cc8763355901dd47612f4451842a55 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Fri, 7 Sep 2012 19:51:41 -0400 Subject: [PATCH] Fix parameter pins interspersed with cells broke in 3.840. --- Changes | 5 +++++ src/V3LinkDot.cpp | 3 +++ test_regress/t/t_inst_prepost.pl | 14 ++++++++++++++ test_regress/t/t_inst_prepost.v | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100755 test_regress/t/t_inst_prepost.pl create mode 100644 test_regress/t/t_inst_prepost.v diff --git a/Changes b/Changes index e2a39ea8a..deb9a126d 100644 --- a/Changes +++ b/Changes @@ -3,6 +3,11 @@ Revision history for Verilator The contributors that suggested a given feature are shown in []. [by ...] indicates the contributor was also the author of the fix; Thanks! +* Verilator 3.84** devel + +**** Fix parameter pins interspersed with cells broke in 3.840. [Bernard Deadman] + + * Verilator 3.841 2012/09/03 *** Add --savable to support model save/restore. [Jeremy Bennett] diff --git a/src/V3LinkDot.cpp b/src/V3LinkDot.cpp index cb4233c55..e72fdf829 100644 --- a/src/V3LinkDot.cpp +++ b/src/V3LinkDot.cpp @@ -154,6 +154,7 @@ public: // See t_gen_forif.v for an example. } else { preErrorDump(); + UINFO(4,"name "<name UINFO(4,"Var1 "<type() == fnodep->type()) { @@ -497,6 +498,7 @@ private: AstBegin* oldbeginp = m_beginp; VSymEnt* oldModSymp = m_modSymp; VSymEnt* oldCurSymp = m_curSymp; + int oldParamNum = m_paramNum; // Where do we add it? VSymEnt* aboveSymp = m_curSymp; string origname = AstNode::dedotName(nodep->name()); @@ -522,6 +524,7 @@ private: m_beginp = oldbeginp; m_modSymp = oldModSymp; m_curSymp = oldCurSymp; + m_paramNum = oldParamNum; } virtual void visit(AstCellInline* nodep, AstNUser*) { UINFO(5," CELLINLINE under "<