diff options
author | Doug Evans <dje@google.com> | 2015-11-16 21:32:26 +0000 |
---|---|---|
committer | Doug Evans <devans@gcc.gnu.org> | 2015-11-16 21:32:26 +0000 |
commit | 46d825c59cd6d5df4784b99dc0fcb878c2b7c24f (patch) | |
tree | a3a5e016e24c49759099058b9dedf0638b1a67c4 | |
parent | 83b4db6df5f0717e6537bc6ab63406a2acc340e3 (diff) | |
download | gcc-46d825c59cd6d5df4784b99dc0fcb878c2b7c24f.zip gcc-46d825c59cd6d5df4784b99dc0fcb878c2b7c24f.tar.gz gcc-46d825c59cd6d5df4784b99dc0fcb878c2b7c24f.tar.bz2 |
re PR libstdc++/67440 (pretty-printing of a const set<foo> fails)
PR libstdc++/67440
* python/libstdcxx/v6/printers.py (find_type): Handle "const" in
type name.
* testsuite/libstdc++-prettyprinters/debug.cc: Add test for
const set<int>.
* testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
* testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
From-SVN: r230437
-rw-r--r-- | libstdc++-v3/ChangeLog | 10 | ||||
-rw-r--r-- | libstdc++-v3/python/libstdcxx/v6/printers.py | 4 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc | 4 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc | 4 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc | 4 |
5 files changed, 25 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index fcef035..9ef0890 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2015-11-16 Doug Evans <dje@google.com> + + PR libstdc++/67440 + * python/libstdcxx/v6/printers.py (find_type): Handle "const" in + type name. + * testsuite/libstdc++-prettyprinters/debug.cc: Add test for + const set<int>. + * testsuite/libstdc++-prettyprinters/simple.cc: Ditto. + * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto. + 2015-11-15 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/68353 diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py index 12e732e..14f786a 100644 --- a/libstdc++-v3/python/libstdcxx/v6/printers.py +++ b/libstdc++-v3/python/libstdcxx/v6/printers.py @@ -85,7 +85,9 @@ except ImportError: def find_type(orig, name): typ = orig.strip_typedefs() while True: - search = str(typ) + '::' + name + # Use typ.name here instead of str(typ) to discard any const,etc. + # qualifiers. PR 67440. + search = typ.name + '::' + name try: return gdb.lookup_type(search) except RuntimeError: diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc index c62ef61..8d40f17 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc @@ -70,6 +70,10 @@ main() std::map<std::string, int>::iterator mpiter = mp.begin(); // { dg-final { note-test mpiter {{first = "zardoz", second = 23}} } } + // PR 67440 + const std::set<int> const_intset = {2, 3}; +// { dg-final { note-test const_intset {std::__debug::set with 2 elements = {[0] = 2, [1] = 3}} } } + std::set<std::string> sp; sp.insert("clownfish"); sp.insert("barrel"); diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc index ad3c256..68c4d83 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc @@ -73,6 +73,10 @@ main() std::map<std::string, int>::iterator mpiter = mp.begin(); // { dg-final { note-test mpiter {{first = "zardoz", second = 23}} } } + // PR 67440 + const std::set<int> const_intset = {2, 3}; +// { dg-final { note-test const_intset {std::set with 2 elements = {[0] = 2, [1] = 3}} } } + std::set<std::string> sp; sp.insert("clownfish"); sp.insert("barrel"); diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc index ba36a6a..5f7e9a6 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc @@ -73,6 +73,10 @@ main() std::map<std::string, int>::iterator mpiter = mp.begin(); // { dg-final { note-test mpiter {{first = "zardoz", second = 23}} } } + // PR 67440 + const std::set<int> const_intset = {2, 3}; +// { dg-final { note-test const_intset {std::set with 2 elements = {[0] = 2, [1] = 3}} } } + std::set<std::string> sp; sp.insert("clownfish"); sp.insert("barrel"); |