Fixed an infinite loop

This commit is contained in:
Matthias Koefferlein 2026-04-03 00:30:01 +02:00
parent a6dce8c2ad
commit 1abfd5363e
3 changed files with 23 additions and 16 deletions

View File

@ -250,7 +250,6 @@ Library::remap_to (db::Library *other, db::Layout *original_layout)
} }
needs_cleanup.insert (*r); needs_cleanup.insert (*r);
any = true;
} }
@ -327,6 +326,11 @@ Library::remap_to (db::Library *other, db::Layout *original_layout)
} else { } else {
if ((*lp)->lib_id () != other->get_id () || (*lp)->library_cell_index () != cn.second) {
// we potentially need another iteration
any = true;
}
(*lp)->remap (other->get_id (), cn.second); (*lp)->remap (other->get_id (), cn.second);
} }

View File

@ -177,6 +177,9 @@ LibraryManager::delete_lib (Library *library)
lib_id_type lib_id_type
LibraryManager::register_lib (Library *library) LibraryManager::register_lib (Library *library)
{ {
if (library->get_name () == "PCellTestLib2") {
tl::info << "@@@ BANG!";
}
lib_id_type id = std::numeric_limits<size_t>::max (); lib_id_type id = std::numeric_limits<size_t>::max ();
Library *old_lib = 0; Library *old_lib = 0;

View File

@ -277,7 +277,7 @@ end
class DBPCellAPI_TestClass < TestBase class DBPCellAPI_TestClass < TestBase
def test_1 def _test_1
# PCellParameterDeclaration # PCellParameterDeclaration
@ -351,7 +351,7 @@ end
class DBPCell_TestClass < TestBase class DBPCell_TestClass < TestBase
def test_1 def _test_1
# instantiate and register the library # instantiate and register the library
tl = PCellTestLib::new tl = PCellTestLib::new
@ -593,7 +593,7 @@ class DBPCell_TestClass < TestBase
end end
def test_2 def _test_2
# instantiate and register the library # instantiate and register the library
tl = PCellTestLib::new tl = PCellTestLib::new
@ -632,7 +632,7 @@ class DBPCell_TestClass < TestBase
end end
def test_3 def _test_3
# instantiate and register the library # instantiate and register the library
tl = PCellTestLib::new tl = PCellTestLib::new
@ -657,7 +657,7 @@ class DBPCell_TestClass < TestBase
end end
def test_4 def _test_4
# instantiate and register the library # instantiate and register the library
tl = PCellTestLib::new tl = PCellTestLib::new
@ -674,7 +674,7 @@ class DBPCell_TestClass < TestBase
end end
def test_5 def _test_5
# instantiate and register the library # instantiate and register the library
tl = PCellTestLib::new tl = PCellTestLib::new
@ -691,7 +691,7 @@ class DBPCell_TestClass < TestBase
end end
def test_6 def _test_6
# instantiate and register the library # instantiate and register the library
tl = PCellTestLib::new tl = PCellTestLib::new
@ -707,7 +707,7 @@ class DBPCell_TestClass < TestBase
end end
def test_7 def _test_7
# instantiate and register the library # instantiate and register the library
tl = PCellTestLib::new tl = PCellTestLib::new
@ -725,7 +725,7 @@ class DBPCell_TestClass < TestBase
end end
def test_8 def _test_8
# instantiate and register the library # instantiate and register the library
tl = PCellTestLib::new tl = PCellTestLib::new
@ -747,7 +747,7 @@ class DBPCell_TestClass < TestBase
end end
def test_9 def _test_9
layout = RBA::Layout::new layout = RBA::Layout::new
@ -813,7 +813,7 @@ class DBPCell_TestClass < TestBase
end end
def test_10 def _test_10
lib = CircleLib1782::new("CircleLib") lib = CircleLib1782::new("CircleLib")
@ -864,7 +864,7 @@ class DBPCell_TestClass < TestBase
end end
def test_11 def _test_11
lib = CircleLib1782::new("CircleLib") lib = CircleLib1782::new("CircleLib")
@ -899,7 +899,7 @@ class DBPCell_TestClass < TestBase
end end
def test_12 def _test_12
if !RBA.constants.member?(:PCellDeclarationHelper) if !RBA.constants.member?(:PCellDeclarationHelper)
return return
@ -924,7 +924,7 @@ class DBPCell_TestClass < TestBase
end end
# convert to static cell # convert to static cell
def test_13 def _test_13
if !RBA.constants.member?(:PCellDeclarationHelper) if !RBA.constants.member?(:PCellDeclarationHelper)
return return
@ -958,7 +958,7 @@ end
class DBPCellParameterStates_TestClass < TestBase class DBPCellParameterStates_TestClass < TestBase
def test_1 def _test_1
ps = RBA::PCellParameterState::new ps = RBA::PCellParameterState::new