aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorMiodrag Milanović <mmicko@gmail.com>2019-10-18 10:54:28 +0200
committerGitHub <noreply@github.com>2019-10-18 10:54:28 +0200
commitb4d765054897f7ee388b54d907fd8ce607db2d58 (patch)
treea625838a0efbfb0176a57887c208467a7addd0a6 /kernel
parentb659082e4a72209af62a19668800bb6334a437d7 (diff)
parentab4899a2d02b994d79e4aa223eb743793b9a60b3 (diff)
downloadyosys-b4d765054897f7ee388b54d907fd8ce607db2d58.tar.gz
yosys-b4d765054897f7ee388b54d907fd8ce607db2d58.tar.bz2
yosys-b4d765054897f7ee388b54d907fd8ce607db2d58.zip
Merge branch 'master' into mmicko/efinix
Diffstat (limited to 'kernel')
-rw-r--r--kernel/rtlil.cc6
-rw-r--r--kernel/rtlil.h3
2 files changed, 9 insertions, 0 deletions
diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc
index ded1cd60e..bd2fd91a3 100644
--- a/kernel/rtlil.cc
+++ b/kernel/rtlil.cc
@@ -3554,6 +3554,12 @@ bool RTLIL::SigSpec::operator ==(const RTLIL::SigSpec &other) const
if (width_ != other.width_)
return false;
+ // Without this, SigSpec() == SigSpec(State::S0, 0) will fail
+ // since the RHS will contain one SigChunk of width 0 causing
+ // the size check below to fail
+ if (width_ == 0)
+ return true;
+
pack();
other.pack();
diff --git a/kernel/rtlil.h b/kernel/rtlil.h
index c08653b65..e5b24cc02 100644
--- a/kernel/rtlil.h
+++ b/kernel/rtlil.h
@@ -609,8 +609,11 @@ struct RTLIL::Const
std::string decode_string() const;
inline int size() const { return bits.size(); }
+ inline bool empty() const { return bits.empty(); }
inline RTLIL::State &operator[](int index) { return bits.at(index); }
inline const RTLIL::State &operator[](int index) const { return bits.at(index); }
+ inline decltype(bits)::iterator begin() { return bits.begin(); }
+ inline decltype(bits)::iterator end() { return bits.end(); }
bool is_fully_zero() const;
bool is_fully_ones() const;