diff options
author | David Shah <davey1576@gmail.com> | 2018-12-19 10:54:44 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-19 10:54:44 +0000 |
commit | c46a22cb7ff3449464a60c3bc62b22dded78d306 (patch) | |
tree | 374505ed838f9edef85e8f6e4b34289b91090664 | |
parent | dc10fe031927c7821af05d72f06d8add8d4c0a31 (diff) | |
parent | f21791fe22512812a5f5988c001db9d6926b0ebb (diff) | |
download | nextpnr-c46a22cb7ff3449464a60c3bc62b22dded78d306.tar.gz nextpnr-c46a22cb7ff3449464a60c3bc62b22dded78d306.tar.bz2 nextpnr-c46a22cb7ff3449464a60c3bc62b22dded78d306.zip |
Merge pull request #184 from YosysHQ/fix_183
common/chain_utils: Don't allow overlapping chains
-rw-r--r-- | common/chain_utils.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/common/chain_utils.h b/common/chain_utils.h index b783e30b..300d96a1 100644 --- a/common/chain_utils.h +++ b/common/chain_utils.h @@ -51,7 +51,8 @@ std::vector<CellChain> find_chains(const Context *ctx, F1 cell_type_predicate, F CellChain chain; CellInfo *end = start; while (end != nullptr) { - chain.cells.push_back(end); + if (chained.insert(end->name).second) + chain.cells.push_back(end); end = get_next(ctx, end); } if (chain.cells.size() >= min_length) { |