diff --git a/src/V3Width.cpp b/src/V3Width.cpp index 510ee54d9..c4f7c7b84 100644 --- a/src/V3Width.cpp +++ b/src/V3Width.cpp @@ -990,8 +990,9 @@ private: lastloop = true; // so exit early; next loop will correct it } else if (portp->basicp() && portp->basicp()->keyword()==AstBasicDTypeKwd::STRING - && !pinp->castCvtPackString() - && !(pinp->castVarRef() && pinp->castVarRef()->varp()->basicp()->keyword()==AstBasicDTypeKwd::STRING)) { + && !pinp->castCvtPackString() + && !pinp->castSFormatF() // Already generates a string + && !(pinp->castVarRef() && pinp->castVarRef()->varp()->basicp()->keyword()==AstBasicDTypeKwd::STRING)) { UINFO(4," Add CvtPackString: "<unlinkFrBack(&handle); // No next, that's the next pin