https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87784
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Looks like this patch fixes it: --- a/libstdc++-v3/include/tr2/dynamic_bitset +++ b/libstdc++-v3/include/tr2/dynamic_bitset @@ -729,8 +729,7 @@ namespace tr2 { if (size_t __offset = this->size() % bits_per_block == 0) this->_M_do_append_block(block_type(0), this->_M_Nb); - ++this->_M_Nb; - this->_M_unchecked_set(this->_M_Nb, __bit); + this->_M_unchecked_set(this->_M_Nb++, __bit); } /**