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-27 12:49:54 -04:00
committed by R. Timothy Edwards
parent 49115d7d06
commit 0badf814c5
4 changed files with 25 additions and 21 deletions
+10 -9
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;
}
}
+6 -4
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)
+7 -6
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;
+2 -2
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