ice40: split out cells_map.v into ff_map.v
[yosys.git] / kernel / bitpattern.h
index 288571d99fddb0e56159a50e18ff66507f7ca3e3..894a95ed1ff3ff22d714f2c8a081b6b72a6db817 100644 (file)
@@ -30,7 +30,7 @@ struct BitPatternPool
        int width;
        struct bits_t {
                std::vector<RTLIL::State> bitdata;
-               unsigned int cached_hash;
+               mutable unsigned int cached_hash;
                bits_t(int width = 0) : bitdata(width), cached_hash(0) { }
                RTLIL::State &operator[](int index) {
                        return bitdata[index];
@@ -45,7 +45,7 @@ struct BitPatternPool
                }
                unsigned int hash() const {
                        if (!cached_hash)
-                               ((bits_t*)this)->cached_hash = hash_ops<std::vector<RTLIL::State>>::hash(bitdata);
+                               cached_hash = hash_ops<std::vector<RTLIL::State>>::hash(bitdata);
                        return cached_hash;
                }
        };