Encountered a crash condition caused by the "equiv" statement, for

circuits with nets having multiple conflicting labels, depending
on where the "equiv" statement occurs in the .ext file output.
Corrected the error but am still puzzled as to why this has never
shown up before, as it does not appear to be the result of any
recent development work.
This commit is contained in:
Tim Edwards
2021-03-16 20:31:29 -04:00
parent 7757384355
commit 010c0599bd
+8
View File
@@ -486,6 +486,14 @@ efBuildEquiv(def, nodeName1, nodeName2)
efNodeMerge(&nn1->efnn_node, &nn2->efnn_node);
if (nn1->efnn_port > 0) nn2->efnn_port = nn1->efnn_port;
else if (nn2->efnn_port > 0) nn1->efnn_port = nn2->efnn_port;
/* If a node has been merged away, make sure that its name */
/* points to the merged name's hash. */
if (nn1->efnn_node == NULL)
HashSetValue(he1, (char *)nn2);
else if (nn2->efnn_node == NULL)
HashSetValue(he2, (char *)nn1);
}
return;
}