diff options
Diffstat (limited to 'machxo2/cells.cc')
-rw-r--r-- | machxo2/cells.cc | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/machxo2/cells.cc b/machxo2/cells.cc index 7334234d..534d8e3c 100644 --- a/machxo2/cells.cc +++ b/machxo2/cells.cc @@ -41,13 +41,9 @@ void add_port(const Context *ctx, CellInfo *cell, IdString id, PortType dir) std::unique_ptr<CellInfo> create_machxo2_cell(Context *ctx, IdString type, std::string name) { static int auto_idx = 0; - std::unique_ptr<CellInfo> new_cell = std::unique_ptr<CellInfo>(new CellInfo()); - if (name.empty()) { - new_cell->name = ctx->id("$nextpnr_" + type.str(ctx) + "_" + std::to_string(auto_idx++)); - } else { - new_cell->name = ctx->id(name); - } - new_cell->type = type; + IdString name_id = + name.empty() ? ctx->id("$nextpnr_" + type.str(ctx) + "_" + std::to_string(auto_idx++)) : ctx->id(name); + auto new_cell = std::make_unique<CellInfo>(ctx, name_id, type); if (type == id_FACADE_SLICE) { new_cell->params[id_MODE] = std::string("LOGIC"); |