Internals: When resolving assignments pass dtype to children.

This commit is contained in:
Wilson Snyder 2020-10-18 12:30:33 -04:00
parent 3d2503f9aa
commit ec36d0d772

View File

@ -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);