extraction: constify struct devMerge.next, devMergeList
Feel free to undo variables as necessary in the future as requirements change.
This commit is contained in:
parent
49115d7d06
commit
0badf814c5
|
|
@ -175,13 +175,13 @@ typedef struct _devMerge {
|
||||||
Dev * dev;
|
Dev * dev;
|
||||||
int esFMIndex;
|
int esFMIndex;
|
||||||
const HierName *hierName;
|
const HierName *hierName;
|
||||||
struct _devMerge *next;
|
const struct _devMerge *next;
|
||||||
} devMerge;
|
} devMerge;
|
||||||
|
|
||||||
#ifdef EXT2SIM_AUTO
|
#ifdef EXT2SIM_AUTO
|
||||||
devMerge *devMergeList = NULL ;
|
const devMerge *devMergeList = NULL;
|
||||||
#else
|
#else
|
||||||
extern devMerge *devMergeList;
|
extern const devMerge *devMergeList;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* attributes controlling the Area/Perimeter extraction of fet terminals */
|
/* attributes controlling the Area/Perimeter extraction of fet terminals */
|
||||||
|
|
@ -679,13 +679,13 @@ runexttosim:
|
||||||
|
|
||||||
if (esMergeDevsA || esMergeDevsC)
|
if (esMergeDevsA || esMergeDevsC)
|
||||||
{
|
{
|
||||||
devMerge *p;
|
const devMerge *p;
|
||||||
|
|
||||||
EFVisitDevs(simmergeVisit, PTR2CD(NULL));
|
EFVisitDevs(simmergeVisit, PTR2CD(NULL));
|
||||||
TxPrintf("Devices merged: %d\n", esDevsMerged);
|
TxPrintf("Devices merged: %d\n", esDevsMerged);
|
||||||
esFMIndex = 0;
|
esFMIndex = 0;
|
||||||
for (p = devMergeList; p != NULL; p = p->next)
|
for (p = devMergeList; p != NULL; p = p->next)
|
||||||
freeMagic(p);
|
freeMagic((char *)p);
|
||||||
devMergeList = NULL;
|
devMergeList = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -808,12 +808,12 @@ main(
|
||||||
EFFlatBuild(inName, flatFlags);
|
EFFlatBuild(inName, flatFlags);
|
||||||
|
|
||||||
if (esMergeDevsA || esMergeDevsC) {
|
if (esMergeDevsA || esMergeDevsC) {
|
||||||
devMerge *p;
|
const devMerge *p;
|
||||||
|
|
||||||
EFVisitDevs(simmergeVisit, PTR2CD(NULL));
|
EFVisitDevs(simmergeVisit, PTR2CD(NULL));
|
||||||
TxPrintf("Devices merged: %d\n", esDevsMerged);
|
TxPrintf("Devices merged: %d\n", esDevsMerged);
|
||||||
esFMIndex = 0;
|
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));
|
EFVisitDevs(simdevVisit, PTR2CD(NULL));
|
||||||
|
|
@ -1797,7 +1797,8 @@ simmergeVisit(
|
||||||
const EFNode *subnode, *snode, *dnode, *gnode;
|
const EFNode *subnode, *snode, *dnode, *gnode;
|
||||||
int pmode, l, w;
|
int pmode, l, w;
|
||||||
float m;
|
float m;
|
||||||
devMerge *fp, *cfp;
|
devMerge *fp;
|
||||||
|
const devMerge *cfp;
|
||||||
const HierName *hierName = hc->hc_hierName;
|
const HierName *hierName = hc->hc_hierName;
|
||||||
|
|
||||||
if (dev->dev_nterm < 2) {
|
if (dev->dev_nterm < 2) {
|
||||||
|
|
@ -1842,7 +1843,7 @@ simmergeVisit(
|
||||||
setDevMult(fp->esFMIndex, DEV_KILLED);
|
setDevMult(fp->esFMIndex, DEV_KILLED);
|
||||||
setDevMult(cfp->esFMIndex, m);
|
setDevMult(cfp->esFMIndex, m);
|
||||||
esDevsMerged++;
|
esDevsMerged++;
|
||||||
freeMagic(fp);
|
freeMagic((char *)fp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1156,7 +1156,8 @@ spcdevHierMergeVisit(hc, dev, scale)
|
||||||
DevTerm *gate, *source, *drain;
|
DevTerm *gate, *source, *drain;
|
||||||
EFNode *subnode, *snode, *dnode, *gnode;
|
EFNode *subnode, *snode, *dnode, *gnode;
|
||||||
int pmode, l, w;
|
int pmode, l, w;
|
||||||
devMerge *fp, *cfp;
|
devMerge *fp;
|
||||||
|
const devMerge *cfp;
|
||||||
float m;
|
float m;
|
||||||
|
|
||||||
/* If no terminals, or only a gate, can't do much of anything */
|
/* 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;
|
EFNode *subnode, *snode, *dnode, *gnode;
|
||||||
int pmode, l, w;
|
int pmode, l, w;
|
||||||
bool hS, hD, chS, chD;
|
bool hS, hD, chS, chD;
|
||||||
devMerge *fp, *cfp;
|
devMerge *fp;
|
||||||
|
const devMerge *cfp;
|
||||||
float m;
|
float m;
|
||||||
|
|
||||||
if (esDistrJunct)
|
if (esDistrJunct)
|
||||||
|
|
@ -2179,13 +2181,13 @@ esHierVisit(hc, cdata)
|
||||||
/* Merge devices */
|
/* Merge devices */
|
||||||
if (esMergeDevsA || esMergeDevsC)
|
if (esMergeDevsA || esMergeDevsC)
|
||||||
{
|
{
|
||||||
devMerge *p;
|
const devMerge *p;
|
||||||
|
|
||||||
EFHierVisitDevs(hcf, spcdevHierMergeVisit, (ClientData)NULL);
|
EFHierVisitDevs(hcf, spcdevHierMergeVisit, (ClientData)NULL);
|
||||||
TxPrintf("Devs merged: %d\n", esSpiceDevsMerged);
|
TxPrintf("Devs merged: %d\n", esSpiceDevsMerged);
|
||||||
esFMIndex = 0;
|
esFMIndex = 0;
|
||||||
for (p = devMergeList; p != NULL; p = p->next)
|
for (p = devMergeList; p != NULL; p = p->next)
|
||||||
freeMagic(p);
|
freeMagic((char *)p);
|
||||||
devMergeList = NULL;
|
devMergeList = NULL;
|
||||||
}
|
}
|
||||||
else if (esDistrJunct)
|
else if (esDistrJunct)
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@ int esFMIndex = 0; /* current index to it */
|
||||||
int esFMSize = FMULT_SIZE ; /* its current size (growable) */
|
int esFMSize = FMULT_SIZE ; /* its current size (growable) */
|
||||||
int esSpiceDevsMerged;
|
int esSpiceDevsMerged;
|
||||||
|
|
||||||
devMerge *devMergeList = NULL ;
|
const devMerge *devMergeList = NULL ;
|
||||||
|
|
||||||
#define atoCap(s) ((EFCapValue)atof(s))
|
#define atoCap(s) ((EFCapValue)atof(s))
|
||||||
|
|
||||||
|
|
@ -1106,13 +1106,13 @@ runexttospice:
|
||||||
|
|
||||||
if (esMergeDevsA || esMergeDevsC)
|
if (esMergeDevsA || esMergeDevsC)
|
||||||
{
|
{
|
||||||
devMerge *p;
|
const devMerge *p;
|
||||||
|
|
||||||
EFVisitDevs(devMergeVisit, (ClientData) NULL);
|
EFVisitDevs(devMergeVisit, (ClientData) NULL);
|
||||||
TxPrintf("Devs merged: %d\n", esSpiceDevsMerged);
|
TxPrintf("Devs merged: %d\n", esSpiceDevsMerged);
|
||||||
esFMIndex = 0;
|
esFMIndex = 0;
|
||||||
for (p = devMergeList; p != NULL; p = p->next)
|
for (p = devMergeList; p != NULL; p = p->next)
|
||||||
freeMagic(p);
|
freeMagic((char *) p);
|
||||||
devMergeList = NULL;
|
devMergeList = NULL;
|
||||||
}
|
}
|
||||||
else if (esDistrJunct)
|
else if (esDistrJunct)
|
||||||
|
|
@ -1287,9 +1287,9 @@ main(argc, argv)
|
||||||
TxPrintf("Devs merged: %d\n", esSpiceDevsMerged);
|
TxPrintf("Devs merged: %d\n", esSpiceDevsMerged);
|
||||||
esFMIndex = 0 ;
|
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 )
|
} else if ( esDistrJunct )
|
||||||
EFVisitDevs(devDistJunctVisit, (ClientData) NULL);
|
EFVisitDevs(devDistJunctVisit, (ClientData) NULL);
|
||||||
|
|
@ -4291,7 +4291,8 @@ devMergeVisit(dev, hc, scale, trans)
|
||||||
EFNode *subnode, *snode, *dnode, *gnode;
|
EFNode *subnode, *snode, *dnode, *gnode;
|
||||||
int pmode, l, w;
|
int pmode, l, w;
|
||||||
bool hS, hD, chS, chD;
|
bool hS, hD, chS, chD;
|
||||||
devMerge *fp, *cfp;
|
devMerge *fp;
|
||||||
|
const devMerge *cfp;
|
||||||
float m;
|
float m;
|
||||||
HierName *hierName = hc->hc_hierName;
|
HierName *hierName = hc->hc_hierName;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ typedef struct _devMerge {
|
||||||
Dev * dev;
|
Dev * dev;
|
||||||
int esFMIndex;
|
int esFMIndex;
|
||||||
HierName *hierName;
|
HierName *hierName;
|
||||||
struct _devMerge *next;
|
const struct _devMerge *next;
|
||||||
} devMerge;
|
} devMerge;
|
||||||
|
|
||||||
/* Forward declarations */
|
/* Forward declarations */
|
||||||
|
|
@ -89,7 +89,7 @@ extern int esFMIndex; /* current index to it */
|
||||||
extern int esFMSize; /* its current size (growable) */
|
extern int esFMSize; /* its current size (growable) */
|
||||||
|
|
||||||
extern int esSpiceDevsMerged;
|
extern int esSpiceDevsMerged;
|
||||||
extern devMerge *devMergeList;
|
extern const devMerge *devMergeList;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following hash table and associated functions are used only if
|
* The following hash table and associated functions are used only if
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue