From: Henner Zeller Date: Mon, 6 Jun 2022 20:03:47 +0000 (-0700) Subject: Use compiler-generated default constructor for RTLIL::Const::Const X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9c41b431917fe623b81e0120b1e7cb119f710b78;p=yosys.git 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. --- 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;