From 31d85e732b2648049171abfb906216dfe31449f3 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 7 Jul 2012 09:49:08 -0700 Subject: Added warning for GIA reader when input AIG has dangling nodes. --- src/aig/gia/giaAiger.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/aig/gia/giaAiger.c b/src/aig/gia/giaAiger.c index a0adce33..1f36cfdc 100644 --- a/src/aig/gia/giaAiger.c +++ b/src/aig/gia/giaAiger.c @@ -1039,27 +1039,20 @@ Gia_Man_t * Gia_ReadAigerFromMemory( char * pContents, int nFileSize, int fCheck Vec_IntFreeP( &vPoTypes ); } + if ( Gia_ManHasDangling(pNew) ) { Vec_Int_t * vFlopMap, * vGateMap, * vObjMap; vFlopMap = pNew->vFlopClasses; pNew->vFlopClasses = NULL; vGateMap = pNew->vGateClasses; pNew->vGateClasses = NULL; vObjMap = pNew->vObjClasses; pNew->vObjClasses = NULL; pNew = Gia_ManCleanup( pTemp = pNew ); + if ( (vGateMap || vObjMap) && (Gia_ManObjNum(pNew) < Gia_ManObjNum(pTemp)) ) + printf( "Cleanup removed objects after reading. Old gate/object abstraction maps are invalid!\n" ); Gia_ManStop( pTemp ); pNew->vFlopClasses = vFlopMap; pNew->vGateClasses = vGateMap; pNew->vObjClasses = vObjMap; } -/* - { - extern Vec_Int_t * Vta_ManFramesToAbs( Vec_Vec_t * vFrames ); - extern Vec_Ptr_t * Vta_ManAbsToFrames( Vec_Int_t * vAbs ); - Vec_Vec_t * vAbs = (Vec_Vec_t *)Gia_ManUnrollAbs( pNew ); - assert( pNew->vObjClasses == NULL ); - pNew->vObjClasses = Vta_ManFramesToAbs( vAbs ); - Vec_VecFree( vAbs ); - } -*/ return pNew; } -- cgit v1.2.3