aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2022-08-10 10:57:17 +0100
committergatecat <gatecat@ds0.me>2022-08-10 10:57:46 +0100
commit77c82b0fbf15892b0c8222bac89564f3f024493e (patch)
tree8b189e44b65afabfaddb3402ab8aac544df9ba83 /common
parent06ce27ed38279cfa3455e248ea2b2c773cdf6324 (diff)
downloadnextpnr-77c82b0fbf15892b0c8222bac89564f3f024493e.tar.gz
nextpnr-77c82b0fbf15892b0c8222bac89564f3f024493e.tar.bz2
nextpnr-77c82b0fbf15892b0c8222bac89564f3f024493e.zip
refactor: id(stringf(...)) to new idf(...) helper
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'common')
-rw-r--r--common/kernel/basectx.cc12
-rw-r--r--common/kernel/basectx.h2
-rw-r--r--common/kernel/nextpnr_types.cc8
3 files changed, 18 insertions, 4 deletions
diff --git a/common/kernel/basectx.cc b/common/kernel/basectx.cc
index 82cdd835..777d06e1 100644
--- a/common/kernel/basectx.cc
+++ b/common/kernel/basectx.cc
@@ -26,6 +26,18 @@
NEXTPNR_NAMESPACE_BEGIN
+IdString BaseCtx::idf(const char *fmt, ...) const
+{
+ std::string string;
+ va_list ap;
+
+ va_start(ap, fmt);
+ string = vstringf(fmt, ap);
+ va_end(ap);
+
+ return id(string);
+}
+
const char *BaseCtx::nameOfBel(BelId bel) const
{
const Context *ctx = getCtx();
diff --git a/common/kernel/basectx.h b/common/kernel/basectx.h
index 5775e47f..c8791a2b 100644
--- a/common/kernel/basectx.h
+++ b/common/kernel/basectx.h
@@ -162,6 +162,8 @@ struct BaseCtx
IdString id(const char *s) const { return IdString(this, s); }
+ IdString idf(const char *fmt, ...) const; // create IdString using printf formatting
+
Context *getCtx() { return as_ctx; }
const Context *getCtx() const { return as_ctx; }
diff --git a/common/kernel/nextpnr_types.cc b/common/kernel/nextpnr_types.cc
index 8563eb27..6da37763 100644
--- a/common/kernel/nextpnr_types.cc
+++ b/common/kernel/nextpnr_types.cc
@@ -152,8 +152,8 @@ void CellInfo::movePortBusTo(IdString old_name, int old_offset, bool old_bracket
IdString new_name, int new_offset, bool new_brackets, int width)
{
for (int i = 0; i < width; i++) {
- IdString old_port = ctx->id(stringf(old_brackets ? "%s[%d]" : "%s%d", old_name.c_str(ctx), i + old_offset));
- IdString new_port = ctx->id(stringf(new_brackets ? "%s[%d]" : "%s%d", new_name.c_str(ctx), i + new_offset));
+ IdString old_port = ctx->idf(old_brackets ? "%s[%d]" : "%s%d", old_name.c_str(ctx), i + old_offset);
+ IdString new_port = ctx->idf(new_brackets ? "%s[%d]" : "%s%d", new_name.c_str(ctx), i + new_offset);
movePortTo(old_port, new_cell, new_port);
}
}
@@ -171,8 +171,8 @@ void CellInfo::copyPortBusTo(IdString old_name, int old_offset, bool old_bracket
IdString new_name, int new_offset, bool new_brackets, int width)
{
for (int i = 0; i < width; i++) {
- IdString old_port = ctx->id(stringf(old_brackets ? "%s[%d]" : "%s%d", old_name.c_str(ctx), i + old_offset));
- IdString new_port = ctx->id(stringf(new_brackets ? "%s[%d]" : "%s%d", new_name.c_str(ctx), i + new_offset));
+ IdString old_port = ctx->idf(old_brackets ? "%s[%d]" : "%s%d", old_name.c_str(ctx), i + old_offset);
+ IdString new_port = ctx->idf(new_brackets ? "%s[%d]" : "%s%d", new_name.c_str(ctx), i + new_offset);
copyPortTo(old_port, new_cell, new_port);
}
}