Fix violation of C strict aliasing rules.

This commit is contained in:
Jerry James 2021-08-09 16:24:04 -06:00
parent 99ab99bfa6
commit c312e41601
1 changed files with 3 additions and 1 deletions

View File

@ -2109,11 +2109,13 @@ void Gia_AigerWriteLut( Gia_Man_t * p, char * pFileName )
Gia_ManForEachObj( p, pObj, i )
if ( i && Gia_ObjIsLut(p, i) )
{
word truth;
pLuts[iLut].Type = 3;
Gia_LutForEachFanin( p, i, iFan, k )
pLuts[iLut].pFans[k] = Gia_ManObj(p, iFan)->Value;
pLuts[iLut].nFans = k;
*(word *)pLuts[iLut].pTruth = Gia_LutComputeTruth6(p, i, vTruths);
truth = Gia_LutComputeTruth6(p, i, vTruths);
memcpy( pLuts[iLut].pTruth, &truth, sizeof(word) );
pObj->Value = pLuts[iLut].Out = Abc_Var2Lit( iLut, 0 );
iLut++;
}