diff --git a/VERSION b/VERSION index d293bd7..ec27d32 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.226 +1.5.227 diff --git a/base/verilog.c b/base/verilog.c index 1d933bb..c46a153 100644 --- a/base/verilog.c +++ b/base/verilog.c @@ -2228,11 +2228,13 @@ nextinst: obptr->next = nobj; HashPtrInstall(nobj->name, nobj, &(CurrentCell->objdict)); + /* Ensure that CurrentTail is correct */ + if (obptr == CurrentTail) CurrentTail = nobj; + if (LookupObject(scan->net, CurrentCell) == NULL) Node(scan->net); join(scan->net, nobj->name); scan->flags |= PORT_FOUND; - obptr = nobj; /* Now any previous instance of the same cell must */ /* insert the same additional pin as a no-connect. */ @@ -2270,6 +2272,7 @@ nextinst: } } } + obptr = obptr->next; } else { Fprintf(stderr, "Error: Instance %s has pin %s which is "