From 909c3a8c6afd2403cdfee2f90ff73e7a1e3b3774 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Thu, 5 Oct 2017 22:08:24 -0400 Subject: [PATCH] Corrected an error in lefWrite where a variable was not set, causing occasional intermittent crashes on "lef write". --- lef/lefWrite.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lef/lefWrite.c b/lef/lefWrite.c index 28edf88c..464ad264 100644 --- a/lef/lefWrite.c +++ b/lef/lefWrite.c @@ -315,10 +315,17 @@ lefEraseGeometry(tile, cdata) lefClient *lefdata = (lefClient *)cdata; CellDef *flatDef = lefdata->lefFlat; Rect area; - TileType ttype; + TileType ttype, otype; TiToRect(tile, &area); + otype = TiGetTypeExact(tile); + if (IsSplit(tile)) + ttype = (otype & TT_SIDE) ? SplitRightType(tile) : + SplitLeftType(tile); + else + ttype = otype; + /* Erase the tile area out of lefFlat */ DBErase(flatDef, &area, ttype);