From ec36d0d7723a1c2faf5374a4e491ad402d17ddc6 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Sun, 18 Oct 2020 12:30:33 -0400 Subject: [PATCH] Internals: When resolving assignments pass dtype to children. --- src/V3Width.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/V3Width.cpp b/src/V3Width.cpp index 506b6dcf1..ebba38d68 100644 --- a/src/V3Width.cpp +++ b/src/V3Width.cpp @@ -4747,9 +4747,9 @@ private: << " expected non-datatype " << side << " but '" << underp->name() << "' is a datatype."); } else if (expDTypep == underp->dtypep()) { // Perfect - underp = userIterateSubtreeReturnEdits(underp, WidthVP(SELF, FINAL).p()); + underp = userIterateSubtreeReturnEdits(underp, WidthVP(expDTypep, FINAL).p()); } else if (expDTypep->isDouble() && underp->isDouble()) { // Also good - underp = userIterateSubtreeReturnEdits(underp, WidthVP(SELF, FINAL).p()); + underp = userIterateSubtreeReturnEdits(underp, WidthVP(expDTypep, FINAL).p()); } else if (expDTypep->isDouble() && !underp->isDouble()) { AstNode* oldp = underp; // Need FINAL on children; otherwise splice would block it underp = spliceCvtD(underp);