libstdc++: Fix vector<bool> printer tests to work in debug mode
This fixes a compilation error in debug mode, due to std::_Bit_reference
not being defined, because it's in namespace std::__cxx1998 instead. We
can refer to it as vector<bool>::reference instead, which always works.
That fixes some compilation errors in debug mode, but the tests fail at
run-time instead because the printers for vector<bool> helpers are only
registered for the std namespace, not std::__cxx1998. That is fixed by
using add_container to register the printers instead of add_version, as
the former registers them in the std and std::__cxx1998 namespaces.
Signed-off-by:
Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:
* python/libstdcxx/v6/printers.py (StdBitReferencePrinter): Use
'std::vector<bool>::reference' as type name, not _Bit_reference.
(build_libstdcxx_dictionary): Register printers for vector<bool>
types in debug mode too.
* testsuite/libstdc++-prettyprinters/simple.cc: Adjust expected
output for invalid _Bit_reference. Use vector<bool>::reference
instead of _Bit_reference.
* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
Showing
- libstdc++-v3/python/libstdcxx/v6/printers.py 5 additions, 5 deletionslibstdc++-v3/python/libstdcxx/v6/printers.py
- libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc 7 additions, 7 deletionslibstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc
- libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc 7 additions, 7 deletionslibstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc
Loading
Please register or sign in to comment