Corrected an error probably introduced into the code with the handling

of multiple devices during flattening, that will skip over a node
record at the end of a subcircuit call being flattened and therefore
remove it from the netlist.
This commit is contained in:
Tim Edwards 2021-06-25 13:16:42 -04:00
parent c3cf6c3765
commit 738c1f7b37
2 changed files with 4 additions and 2 deletions

View File

@ -344,7 +344,10 @@ int flattenInstancesOf(char *name, int fnum, char *instance)
/* Find the end record of the parent cell and save it */
for (ParentEnd = (ParentProps) ? ParentProps : ParentParams;
ParentEnd && ParentEnd->next && ParentEnd->next->type != FIRSTPIN;
ParentEnd && ParentEnd->next &&
/* Stop on a node or the next instance */
((ParentEnd->next->type > FIRSTPIN) ||
(ParentEnd->next->type == PROPERTY));
ParentEnd = ParentEnd->next);
/* Not primitive, so need to flatten this instance */

View File

@ -621,7 +621,6 @@ struct FormattedList *FormatBadElementFragment(struct Element *E)
elems = elems->next)
count++;
}
else count = 1;
elemlist->flist[k].count = count;
if (*ob->name != *ob->instance.name) // e.g., "port_match_error"