https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97262
--- Comment #3 from fdlbxtqi <euloanty at live dot com> --- Change the line of (long)m_region to this. Compile success. the type long just considered harmful hashval_t hash () const { return (binding_key::impl_hash () ^ reinterpret_cast<ptrdiff_t>(m_region)); }