Skip to content

Commit 29b7dc8

Browse files
committed
pdn: avoid set on refine
Signed-off-by: Peter Gadfort <[email protected]>
1 parent 81d346f commit 29b7dc8

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/pdn/src/straps.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,22 +1415,24 @@ bool PadDirectConnectionStraps::refineShapes(
14151415
return GridComponent::refineShapes(all_shapes, all_obstructions);
14161416
}
14171417

1418-
std::set<Shape*> refine;
1418+
std::vector<Shape*> refine;
14191419
for (const auto& [layer, shapes] : getShapes()) {
14201420
for (const auto& shape : shapes) {
14211421
if (!strapViaIsObstructed(
14221422
shape.get(), all_shapes, all_obstructions, false)) {
14231423
continue;
14241424
}
14251425

1426-
refine.insert(shape.get());
1426+
refine.push_back(shape.get());
14271427
}
14281428
}
14291429

14301430
if (refine.empty()) {
14311431
return false;
14321432
}
14331433

1434+
refine.erase(std::unique(refine.begin(), refine.end()), refine.end());
1435+
14341436
for (auto* refine_shape : refine) {
14351437
std::unique_ptr<Shape> shape = refine_shape->copy();
14361438
removeShape(refine_shape);

0 commit comments

Comments
 (0)