Fixed an error with LEF read where duplicate macros are encountered
in the input. The name of one was being modified but was being right-justified into the string, resulting in a name starting with many space characters. Also: Fixed an issue with extresist where a label that ends up with an empty string can become a node with an empty string name in the .res.ext file output.
This commit is contained in:
parent
02bbb1064e
commit
11ddd559b2
|
|
@ -2028,7 +2028,7 @@ LefReadMacro(f, mname, oscale, importForeign, doAnnotate, lefTimestamp)
|
||||||
|
|
||||||
for (suffix = 1; HashGetValue(he) != NULL; suffix++)
|
for (suffix = 1; HashGetValue(he) != NULL; suffix++)
|
||||||
{
|
{
|
||||||
sprintf(newname, "%250s_%d", mname, suffix);
|
snprintf(newname, 255, "%s_%d", mname, suffix);
|
||||||
he = HashFind(&lefDefInitHash, newname);
|
he = HashFind(&lefDefInitHash, newname);
|
||||||
}
|
}
|
||||||
LefError(LEF_WARNING, "Cell \"%s\" was already defined in this file. "
|
LefError(LEF_WARNING, "Cell \"%s\" was already defined in this file. "
|
||||||
|
|
|
||||||
|
|
@ -282,6 +282,10 @@ ResMakeLabelBreakpoints(def, goodies)
|
||||||
|
|
||||||
for (slab = def->cd_labels; slab != NULL; slab = slab->lab_next)
|
for (slab = def->cd_labels; slab != NULL; slab = slab->lab_next)
|
||||||
{
|
{
|
||||||
|
/* Avoid any empty-string labels, or it will end up as */
|
||||||
|
/* missing terminal on a device. */
|
||||||
|
if (*(slab->lab_text) == '\0') continue;
|
||||||
|
|
||||||
entry = HashFind(&ResNodeTable, slab->lab_text);
|
entry = HashFind(&ResNodeTable, slab->lab_text);
|
||||||
node = ResInitializeNode(entry);
|
node = ResInitializeNode(entry);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue