extraction: constify struct devMerge.next, devMergeList

Feel free to undo variables as necessary in the future as requirements change.
This commit is contained in:
Darryl L. Miles 2025-07-24 14:36:22 +01:00 committed by R. Timothy Edwards
parent 49115d7d06
commit 0badf814c5
4 changed files with 25 additions and 21 deletions

View File

@ -175,13 +175,13 @@ typedef struct _devMerge {
Dev * dev;
int esFMIndex;
const HierName *hierName;
struct _devMerge *next;
const struct _devMerge *next;
} devMerge;
#ifdef EXT2SIM_AUTO
devMerge *devMergeList = NULL ;
const devMerge *devMergeList = NULL;
#else
extern devMerge *devMergeList;
extern const devMerge *devMergeList;
#endif
/* attributes controlling the Area/Perimeter extraction of fet terminals */
@ -679,13 +679,13 @@ runexttosim:
if (esMergeDevsA || esMergeDevsC)
{
devMerge *p;
const devMerge *p;
EFVisitDevs(simmergeVisit, PTR2CD(NULL));
TxPrintf("Devices merged: %d\n", esDevsMerged);
esFMIndex = 0;
for (p = devMergeList; p != NULL; p = p->next)
freeMagic(p);
freeMagic((char *)p);
devMergeList = NULL;
}
@ -808,12 +808,12 @@ main(
EFFlatBuild(inName, flatFlags);
if (esMergeDevsA || esMergeDevsC) {
devMerge *p;
const devMerge *p;
EFVisitDevs(simmergeVisit, PTR2CD(NULL));
TxPrintf("Devices merged: %d\n", esDevsMerged);
esFMIndex = 0;
for (p = devMergeList; p != NULL; p = p->next) freeMagic(p);
for (p = devMergeList; p != NULL; p = p->next) freeMagic((char *)p);
}
EFVisitDevs(simdevVisit, PTR2CD(NULL));
@ -1797,7 +1797,8 @@ simmergeVisit(
const EFNode *subnode, *snode, *dnode, *gnode;
int pmode, l, w;
float m;
devMerge *fp, *cfp;
devMerge *fp;
const devMerge *cfp;
const HierName *hierName = hc->hc_hierName;
if (dev->dev_nterm < 2) {
@ -1842,7 +1843,7 @@ simmergeVisit(
setDevMult(fp->esFMIndex, DEV_KILLED);
setDevMult(cfp->esFMIndex, m);
esDevsMerged++;
freeMagic(fp);
freeMagic((char *)fp);
return 0;
}
}

View File

@ -1156,7 +1156,8 @@ spcdevHierMergeVisit(hc, dev, scale)
DevTerm *gate, *source, *drain;
EFNode *subnode, *snode, *dnode, *gnode;
int pmode, l, w;
devMerge *fp, *cfp;
devMerge *fp;
const devMerge *cfp;
float m;
/* If no terminals, or only a gate, can't do much of anything */
@ -1564,7 +1565,8 @@ devMergeHierVisit(hc, dev, scale)
EFNode *subnode, *snode, *dnode, *gnode;
int pmode, l, w;
bool hS, hD, chS, chD;
devMerge *fp, *cfp;
devMerge *fp;
const devMerge *cfp;
float m;
if (esDistrJunct)
@ -2179,13 +2181,13 @@ esHierVisit(hc, cdata)
/* Merge devices */
if (esMergeDevsA || esMergeDevsC)
{
devMerge *p;
const devMerge *p;
EFHierVisitDevs(hcf, spcdevHierMergeVisit, (ClientData)NULL);
TxPrintf("Devs merged: %d\n", esSpiceDevsMerged);
esFMIndex = 0;
for (p = devMergeList; p != NULL; p = p->next)
freeMagic(p);
freeMagic((char *)p);
devMergeList = NULL;
}
else if (esDistrJunct)

View File

@ -112,7 +112,7 @@ int esFMIndex = 0; /* current index to it */
int esFMSize = FMULT_SIZE ; /* its current size (growable) */
int esSpiceDevsMerged;
devMerge *devMergeList = NULL ;
const devMerge *devMergeList = NULL ;
#define atoCap(s) ((EFCapValue)atof(s))
@ -1106,13 +1106,13 @@ runexttospice:
if (esMergeDevsA || esMergeDevsC)
{
devMerge *p;
const devMerge *p;
EFVisitDevs(devMergeVisit, (ClientData) NULL);
TxPrintf("Devs merged: %d\n", esSpiceDevsMerged);
esFMIndex = 0;
for (p = devMergeList; p != NULL; p = p->next)
freeMagic(p);
freeMagic((char *) p);
devMergeList = NULL;
}
else if (esDistrJunct)
@ -1287,9 +1287,9 @@ main(argc, argv)
TxPrintf("Devs merged: %d\n", esSpiceDevsMerged);
esFMIndex = 0 ;
{
devMerge *p;
const devMerge *p;
for ( p = devMergeList ; p != NULL ; p=p->next ) freeMagic(p);
for ( p = devMergeList ; p != NULL ; p=p->next ) freeMagic((char *)p);
}
} else if ( esDistrJunct )
EFVisitDevs(devDistJunctVisit, (ClientData) NULL);
@ -4291,7 +4291,8 @@ devMergeVisit(dev, hc, scale, trans)
EFNode *subnode, *snode, *dnode, *gnode;
int pmode, l, w;
bool hS, hD, chS, chD;
devMerge *fp, *cfp;
devMerge *fp;
const devMerge *cfp;
float m;
HierName *hierName = hc->hc_hierName;

View File

@ -13,7 +13,7 @@ typedef struct _devMerge {
Dev * dev;
int esFMIndex;
HierName *hierName;
struct _devMerge *next;
const struct _devMerge *next;
} devMerge;
/* Forward declarations */
@ -89,7 +89,7 @@ extern int esFMIndex; /* current index to it */
extern int esFMSize; /* its current size (growable) */
extern int esSpiceDevsMerged;
extern devMerge *devMergeList;
extern const devMerge *devMergeList;
/*
* The following hash table and associated functions are used only if