summaryrefslogtreecommitdiffstats
path: root/src/map/mio
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2010-11-29 01:35:09 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2010-11-29 01:35:09 -0800
commit42cebe99d09df1b6ac2f58bdfa1f6e47cb4bc4d2 (patch)
tree5bfedb22699453f3f6d81e9b4d811b9cfd6387f9 /src/map/mio
parent9bff0309ae9bee48b4f61c1d82da4cd4ca25fda8 (diff)
downloadabc-42cebe99d09df1b6ac2f58bdfa1f6e47cb4bc4d2.tar.gz
abc-42cebe99d09df1b6ac2f58bdfa1f6e47cb4bc4d2.tar.bz2
abc-42cebe99d09df1b6ac2f58bdfa1f6e47cb4bc4d2.zip
Bug fix: unhandled & symbol in Liberty formula representation
Diffstat (limited to 'src/map/mio')
-rw-r--r--src/map/mio/mioFunc.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/map/mio/mioFunc.c b/src/map/mio/mioFunc.c
index f6f327e3..e58d3958 100644
--- a/src/map/mio/mioFunc.c
+++ b/src/map/mio/mioFunc.c
@@ -28,7 +28,8 @@ ABC_NAMESPACE_IMPL_START
// these symbols (and no other) can appear in the formulas
#define MIO_SYMB_AND '*'
-#define MIO_SYMB_OR1 '+'
+#define MIO_SYMB_AND2 '&'
+#define MIO_SYMB_OR '+'
#define MIO_SYMB_OR2 '|'
#define MIO_SYMB_XOR '^'
#define MIO_SYMB_NOT '!'
@@ -246,10 +247,12 @@ int Mio_GateCollectNames( char * pFormula, char * pPinNames[] )
// remove the non-name symbols
for ( pTemp = Buffer; *pTemp; pTemp++ )
- if ( *pTemp == MIO_SYMB_AND || *pTemp == MIO_SYMB_OR1 || *pTemp == MIO_SYMB_OR2
- || *pTemp == MIO_SYMB_XOR || *pTemp == MIO_SYMB_NOT || *pTemp == MIO_SYMB_OPEN
- || *pTemp == MIO_SYMB_CLOSE || *pTemp == MIO_SYMB_AFTNOT )
- *pTemp = ' ';
+ if ( *pTemp == MIO_SYMB_AND || *pTemp == MIO_SYMB_AND2 ||
+ *pTemp == MIO_SYMB_OR || *pTemp == MIO_SYMB_OR2 ||
+ *pTemp == MIO_SYMB_XOR ||
+ *pTemp == MIO_SYMB_NOT || *pTemp == MIO_SYMB_AFTNOT ||
+ *pTemp == MIO_SYMB_OPEN || *pTemp == MIO_SYMB_CLOSE )
+ *pTemp = ' ';
// save the names
nPins = 0;