From e9369ab905329d97df8c87bb2c8ffa08c6e6ea7d Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Sun, 14 Jun 2015 15:24:34 +0200 Subject: [PATCH] Bug in Instance::getClone() generating unplaced copies. * Bug: In Hurricane, in Instance::getClone(), the Instance::create() was called with a wrong number of parameters, causing the the wrong overload to be called. The position was thus not copied generating an unplaced copy. This was causing error in the AM2901/datapath bench, because fixed blocks where becoming unfixed. * Bug: In , in coriolisEnv (again) an error in the detection of the LD_LIBRARY_PATH. --- bootstrap/coriolisEnv.py | 2 +- hurricane/src/hurricane/Instance.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bootstrap/coriolisEnv.py b/bootstrap/coriolisEnv.py index 1bb6412c..535e8dd7 100755 --- a/bootstrap/coriolisEnv.py +++ b/bootstrap/coriolisEnv.py @@ -116,7 +116,7 @@ def guessOs (): print " (using: \"%s\")" % osType ldLibraryPath = os.getenv('LD_LIBRARY_PATH') - if 'devtoolset' in ldLibraryPath: useDevtoolset2 = False + if ldLibraryPath and 'devtoolset' in ldLibraryPath: useDevtoolset2 = False if libDir == 'lib64' and not os.path.exists('/usr/lib64'): libDir = 'lib' diff --git a/hurricane/src/hurricane/Instance.cpp b/hurricane/src/hurricane/Instance.cpp index 27aab002..c719e922 100644 --- a/hurricane/src/hurricane/Instance.cpp +++ b/hurricane/src/hurricane/Instance.cpp @@ -468,10 +468,11 @@ Instance* Instance::getClone(Cell* cloneCell) const Instance* clone = Instance::create( cloneCell , getName() , getMasterCell() + , getTransformation() , getPlacementStatus() ); - forEach( Plug*, iplug, getPlugs() ) { + for( Plug* iplug : getPlugs() ) { if (iplug->isConnected()) { Plug* clonePlug = clone->getPlug( iplug->getMasterNet() ); Net* cloneNet = cloneCell->getNet( iplug->getNet()->getName() );