Merge branch 'work' into tomerge
This commit is contained in:
commit
33a70706ac
|
|
@ -681,12 +681,12 @@ calmaProcessDef(def, outf)
|
||||||
/* another vendor GDS, it would not normally be output. */
|
/* another vendor GDS, it would not normally be output. */
|
||||||
|
|
||||||
DBPropGet(def->cd_parents->cu_parent, "GDS_FILE", &isReadOnly);
|
DBPropGet(def->cd_parents->cu_parent, "GDS_FILE", &isReadOnly);
|
||||||
if (!isReadOnly)
|
if (!isReadOnly || isAbstract)
|
||||||
TxError("Calma output error: Can't find GDS file \"%s\" "
|
TxError("Calma output error: Can't find GDS file \"%s\" "
|
||||||
"for vendor cell \"%s\". Using magic's "
|
"for vendor cell \"%s\". Using magic's "
|
||||||
"internal definition\n", filename,
|
"internal definition\n", filename,
|
||||||
def->cd_name);
|
def->cd_name);
|
||||||
else
|
if (isReadOnly)
|
||||||
def->cd_flags |= CDVENDORGDS;
|
def->cd_flags |= CDVENDORGDS;
|
||||||
}
|
}
|
||||||
else if (isAbstract)
|
else if (isAbstract)
|
||||||
|
|
|
||||||
|
|
@ -1400,39 +1400,42 @@ badTransform:
|
||||||
/* now two versions of the same cell name coming from different */
|
/* now two versions of the same cell name coming from different */
|
||||||
/* sources, and this must be corrected. */
|
/* sources, and this must be corrected. */
|
||||||
|
|
||||||
if (subCellDef->cd_file != NULL)
|
if (*pathptr != '\0')
|
||||||
{
|
{
|
||||||
slashptr = strrchr(subCellDef->cd_file, '/');
|
if (subCellDef->cd_file != NULL)
|
||||||
if (slashptr != NULL)
|
|
||||||
{
|
{
|
||||||
*slashptr = '\0';
|
slashptr = strrchr(subCellDef->cd_file, '/');
|
||||||
|
if (slashptr != NULL)
|
||||||
if (strcmp(subCellDef->cd_file, pathptr))
|
|
||||||
{
|
{
|
||||||
TxError("Duplicate cell in %s: Instance of cell %s is from "
|
*slashptr = '\0';
|
||||||
"path %s but cell was previously read from %s.\n",
|
|
||||||
cellDef->cd_name, slashptr + 1, pathptr,
|
|
||||||
subCellDef->cd_file);
|
|
||||||
|
|
||||||
/* To do: Check if new path does not exist (ignore), */
|
if (strcmp(subCellDef->cd_file, pathptr))
|
||||||
/* or if new path has same symbolic link or is the same */
|
{
|
||||||
/* filesize and checksum (ignore). If file appears to */
|
TxError("Duplicate cell in %s: Instance of cell %s is from "
|
||||||
/* be truly different, then create a new cell with a */
|
"path %s but cell was previously read from %s.\n",
|
||||||
/* modified cell name. */
|
cellDef->cd_name, slashptr + 1, pathptr,
|
||||||
|
subCellDef->cd_file);
|
||||||
|
|
||||||
TxError("New path will be ignored. Please check.\n");
|
/* To do: Check if new path does not exist (ignore), */
|
||||||
|
/* or if new path has same symbolic link or is the same */
|
||||||
|
/* filesize and checksum (ignore). If file appears to */
|
||||||
|
/* be truly different, then create a new cell with a */
|
||||||
|
/* modified cell name. */
|
||||||
|
|
||||||
|
TxError("New path will be ignored. Please check.\n");
|
||||||
|
}
|
||||||
|
*slashptr = '/';
|
||||||
}
|
}
|
||||||
*slashptr = '/';
|
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
else if (*pathptr != '\0')
|
{
|
||||||
{
|
/* Reconstruct file from path and cellname */
|
||||||
/* Reconstruct file from path and cellname */
|
|
||||||
|
|
||||||
strcat(path, "/");
|
strcat(path, "/");
|
||||||
strcat(path, subCellDef->cd_name);
|
strcat(path, subCellDef->cd_name);
|
||||||
strcat(path, DBSuffix);
|
strcat(path, DBSuffix);
|
||||||
StrDup(&subCellDef->cd_file, path);
|
StrDup(&subCellDef->cd_file, path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
subCellUse = DBCellNewUse(subCellDef, (useid[0]) ?
|
subCellUse = DBCellNewUse(subCellDef, (useid[0]) ?
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue