From 9c41b431917fe623b81e0120b1e7cb119f710b78 Mon Sep 17 00:00:00 2001 From: Henner Zeller Date: Mon, 6 Jun 2022 13:03:47 -0700 Subject: [PATCH] Use compiler-generated default constructor for RTLIL::Const::Const No need for a manual implementation. While at it: have the constructor that takes a string take a const string reference instead to avoid a copy. --- kernel/rtlil.cc | 10 +--------- kernel/rtlil.h | 4 ++-- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 72dcb89af..8346b56e0 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -204,7 +204,7 @@ RTLIL::Const::Const() flags = RTLIL::CONST_FLAG_NONE; } -RTLIL::Const::Const(std::string str) +RTLIL::Const::Const(const std::string &str) { flags = RTLIL::CONST_FLAG_STRING; bits.reserve(str.size() * 8); @@ -243,14 +243,6 @@ RTLIL::Const::Const(const std::vector &bits) this->bits.emplace_back(b ? State::S1 : State::S0); } -RTLIL::Const::Const(const RTLIL::Const &c) -{ - flags = c.flags; - this->bits.reserve(c.size()); - for (const auto &b : c.bits) - this->bits.push_back(b); -} - bool RTLIL::Const::operator <(const RTLIL::Const &other) const { if (bits.size() != other.bits.size()) diff --git a/kernel/rtlil.h b/kernel/rtlil.h index d8300f159..7a0b6b9c7 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -636,12 +636,12 @@ struct RTLIL::Const std::vector bits; Const(); - Const(std::string str); + Const(const std::string &str); Const(int val, int width = 32); Const(RTLIL::State bit, int width = 1); Const(const std::vector &bits) : bits(bits) { flags = CONST_FLAG_NONE; } Const(const std::vector &bits); - Const(const RTLIL::Const &c); + Const(const RTLIL::Const &c) = default; RTLIL::Const &operator =(const RTLIL::Const &other) = default; bool operator <(const RTLIL::Const &other) const; -- 2.30.2