mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-10-06 01:43:00 +02:00
extraction: constify struct devMerge.next, devMergeList
Feel free to undo variables as necessary in the future as requirements change.
This commit is contained in:
committed by
R. Timothy Edwards
parent
49115d7d06
commit
0badf814c5
+10
-9
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user