diff --git a/kernel/sigtools.h b/kernel/sigtools.h index 7962eaa70..3155d7482 100644 --- a/kernel/sigtools.h +++ b/kernel/sigtools.h @@ -259,10 +259,14 @@ struct SigMapView return bit; } - RTLIL::SigSpec operator()(RTLIL::SigSpec sig) const + RTLIL::SigSpec operator()(const RTLIL::SigSpec &sig) const { - apply(sig); - return sig; + RTLIL::SigSpec result; + for (RTLIL::SigBit bit : sig) { + apply(bit); + result.append(bit); + } + return result; } RTLIL::SigSpec operator()(RTLIL::Wire *wire) const