Have std::vector printer's iterator return bool for vector<bool>
authorMichael Weghorn <m.weghorn@posteo.de>
Wed, 19 Jun 2019 22:57:06 +0000 (22:57 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 19 Jun 2019 22:57:06 +0000 (23:57 +0100)
commit36d0dada6773d7fd7c5ace64c90e723930a3b81e
treeab74e6ba1f45dcc88d0e4ce6879ba03c6171d02e
parent0fd9e8482e73ca8ed74ad390e507f9f922ccc5ce
Have std::vector printer's iterator return bool for vector<bool>

Have the pretty-printer for 'std::vector<bool>' return a
value of type 'bool' rather than an 'int'.

This way, the type is clear and that can be used for better
display and a 'gdb.Value' constructed from the returned value
will have type 'bool' again, not e.g. 'long long' as happened
previously (at least with GDB 8.2.1 on amd64).

2019-06-19  Michael Weghorn  <m.weghorn@posteo.de>
    Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/90945
* python/libstdcxx/v6/printers.py (StdVectorPrinter._iterator): Use
values of type bool for vector<bool> elements.
* testsuite/libstdc++-prettyprinters/simple.cc: Test vector<bool>.
* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r272490
libstdc++-v3/ChangeLog
libstdc++-v3/python/libstdcxx/v6/printers.py
libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc
libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc