On 20 March 2018 at 21:02, François Dumont wrote: > On 20/03/2018 19:20, Jonathan Wakely wrote: >> >> On 17 March 2018 at 09:01, Jonathan Wakely wrote: >>> >>> Native configuration is x86_64-pc-linux-gnu >>> >>> === libstdc++ tests === >>> >>> >>> Running target unix/-std=gnu++11/-D_GLIBCXX_ASSERTIONS >>> >>> === libstdc++ Summary for >>> unix/-std=gnu++11/-D_GLIBCXX_ASSERTIONS === >>> >>> # of expected passes 12330 >>> # of expected failures 71 >>> # of unsupported tests 579 >>> >>> Running target unix/-std=gnu++11/-D_GLIBCXX_DEBUG >>> XPASS: 21_strings/basic_string_view/element_access/char/2.cc execution >>> test >>> XPASS: 21_strings/basic_string_view/element_access/wchar_t/2.cc execution >>> test >>> FAIL: 23_containers/bitset/hash/1.cc (test for excess errors) >>> UNRESOLVED: 23_containers/bitset/hash/1.cc compilation failed to produce >>> executable >> >> These debug mode failures are regressions, reported as >> https://gcc.gnu.org/PR84998 >> >> I think they all have the same root cause (Nathan fixed a bug in G++). >> > I had already prepared this patch. Thanks for explaining why we have this > problem now.
Ah I was just about to commit my own fix. > Note that I chose to use full specialization with std::hash<> for > std::bitset and std::vector<bool>. Great, that's an improvement over my patch. > It also fix a versioned namespace issue when partially specializing > std::hash for debug vector<bool>. Even better. > Tested under Linux x86_64 normal, debug and versioned namespace modes. > > Ok to commit ? Yes please! Please be sure to add "PR libstdc++/84998" to the changelog entry so it updates bugzilla. Thanks very much.