Correction from a recent commit; complicated sets of "equiv"

statement in a .ext file require that all aliases of a node name be
rehashed after a node merge, or else node loops can occur.  Also
prevented statements of the form "equiv A A" from being output in
the .ext file, as they are useless.
This commit is contained in:
Tim Edwards
2021-03-18 11:37:44 -04:00
parent fd4569081e
commit 2532a696e4
3 changed files with 22 additions and 6 deletions
+6 -2
View File
@@ -727,13 +727,17 @@ extOutputNodes(nodeList, outFile)
fprintf(outFile, "\"\n");
}
/* Output the alternate names for the node */
/* Output the alternate names for the node. Avoid generating */
/* unnecessary "equiv A A" entries for labels on disconnected */
/* nets. */
for (ll = reg->nreg_labels; ll; ll = ll->ll_next)
if (ll->ll_label->lab_text == text)
{
for (ll = ll->ll_next; ll; ll = ll->ll_next)
if (extLabType(ll->ll_label->lab_text, LABTYPE_NAME))
fprintf(outFile, "equiv \"%s\" \"%s\"\n",
if (strcmp(text, ll->ll_label->lab_text))
fprintf(outFile, "equiv \"%s\" \"%s\"\n",
text, ll->ll_label->lab_text);
break;
}