Corrected behavior of "load ... -dereference" to bring back a

previous behavior that had inadvertently been changed.  In recent
versions, "load <absolute_path> -dereference" would incorrectly
apply the dereferencing to <absolute_path> rather than just its
subcells.  Cleaned up the code around DBCellRead() in the process,
so everything is more straightforward (although probably more
could be done in that regard).
This commit is contained in:
Tim Edwards
2023-04-18 11:01:58 -04:00
parent cff2b97678
commit c1f4555ba0
19 changed files with 75 additions and 119 deletions
+1 -4
View File
@@ -2214,15 +2214,12 @@ DefReadComponents(f, rootDef, sname, oscale, total)
if (defMacro == (CellDef *)NULL)
{
bool dereference;
/* Before giving up, assume that this cell has a */
/* magic .mag layout file. */
defMacro = DBCellNewDef(token);
defMacro->cd_flags &= ~CDNOTFOUND;
dereference = (defMacro->cd_flags & CDDEREFERENCE) ? TRUE : FALSE;
if (!DBCellRead(defMacro, TRUE, dereference, NULL))
if (!DBCellRead(defMacro, TRUE, TRUE, NULL))
{
LefError(DEF_ERROR, "Cell %s is not defined. Maybe you "
"have not read the corresponding LEF file?\n",