aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-10-04 17:53:20 -0700
committerEddie Hung <eddie@fpgeh.com>2019-10-04 17:53:20 -0700
commita5ac33f230b5dd20273f6636e5b573ef0478b8f9 (patch)
tree6f67a20084e1490fec10824cf4ff9eb4c6fe14e8 /kernel
parentaae2b9fd9c8dc915fadacc24962436dd7aedff36 (diff)
parent0acc51c3d82f65f73fa9e475c6fc41beabd925a6 (diff)
downloadyosys-a5ac33f230b5dd20273f6636e5b573ef0478b8f9.tar.gz
yosys-a5ac33f230b5dd20273f6636e5b573ef0478b8f9.tar.bz2
yosys-a5ac33f230b5dd20273f6636e5b573ef0478b8f9.zip
Merge branch 'master' into eddie/abc_to_abc9
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;