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);
any = true;
}
@ -327,6 +326,11 @@ Library::remap_to (db::Library *other, db::Layout *original_layout)
} 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);
}

View File

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

View File

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