common/chain_utils: Don't allow overlapping chains

Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
David Shah 2018-12-18 15:01:04 +00:00
parent 0a494fa66c
commit f21791fe22

View File

@ -51,7 +51,8 @@ std::vector<CellChain> find_chains(const Context *ctx, F1 cell_type_predicate, F
CellChain chain; CellChain chain;
CellInfo *end = start; CellInfo *end = start;
while (end != nullptr) { while (end != nullptr) {
chain.cells.push_back(end); if (chained.insert(end->name).second)
chain.cells.push_back(end);
end = get_next(ctx, end); end = get_next(ctx, end);
} }
if (chain.cells.size() >= min_length) { if (chain.cells.size() >= min_length) {