diff options
author | Keith Rothman <537074+litghost@users.noreply.github.com> | 2021-02-04 14:47:45 -0800 |
---|---|---|
committer | Keith Rothman <537074+litghost@users.noreply.github.com> | 2021-02-04 16:38:07 -0800 |
commit | c99fbde0eb0b1b9b725ba2fead13d3210ce961a7 (patch) | |
tree | 35a86b414b97eab928a84da677628dd8cb1832dc /generic/arch.h | |
parent | 40d026e6fc5ab94c732682c62a6803bd3140953e (diff) | |
download | nextpnr-c99fbde0eb0b1b9b725ba2fead13d3210ce961a7.tar.gz nextpnr-c99fbde0eb0b1b9b725ba2fead13d3210ce961a7.tar.bz2 nextpnr-c99fbde0eb0b1b9b725ba2fead13d3210ce961a7.zip |
Mark IdString and IdStringList single argument constructors explicit.
Single argument constructors will silently convert to that type. This
is typically not the right thing to do. For example, the nexus and
ice40 arch_pybindings.h files were incorrectly parsing bel name strings,
etc.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
Diffstat (limited to 'generic/arch.h')
-rw-r--r-- | generic/arch.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/generic/arch.h b/generic/arch.h index ab554d53..0d071078 100644 --- a/generic/arch.h +++ b/generic/arch.h @@ -141,7 +141,7 @@ struct Arch : BaseCtx std::vector<std::vector<int>> tileBelDimZ; std::vector<std::vector<int>> tilePipDimZ; - std::unordered_map<IdStringList, CellTiming> cellTiming; + std::unordered_map<IdString, CellTiming> cellTiming; void addWire(IdStringList name, IdString type, int x, int y); void addPip(IdStringList name, IdString type, IdStringList srcWire, IdStringList dstWire, DelayInfo delay, Loc loc); @@ -169,10 +169,10 @@ struct Arch : BaseCtx void setLutK(int K); void setDelayScaling(double scale, double offset); - void addCellTimingClock(IdStringList cell, IdString port); - void addCellTimingDelay(IdStringList cell, IdString fromPort, IdString toPort, DelayInfo delay); - void addCellTimingSetupHold(IdStringList cell, IdString port, IdString clock, DelayInfo setup, DelayInfo hold); - void addCellTimingClockToOut(IdStringList cell, IdString port, IdString clock, DelayInfo clktoq); + void addCellTimingClock(IdString cell, IdString port); + void addCellTimingDelay(IdString cell, IdString fromPort, IdString toPort, DelayInfo delay); + void addCellTimingSetupHold(IdString cell, IdString port, IdString clock, DelayInfo setup, DelayInfo hold); + void addCellTimingClockToOut(IdString cell, IdString port, IdString clock, DelayInfo clktoq); // --------------------------------------------------------------- // Common Arch API. Every arch must provide the following methods. |