Commit Graph

16 Commits

Author SHA1 Message Date
Tom Tromey
3efe2bf72b re PR libstdc++/51649 (pretty printers don't handle std::__7:: namespace)
PR libstdc++/51649:
	* testsuite/libstdc++-prettyprinters/debug.cc: New file.
	* testsuite/lib/gdb-test.exp (regexp-test): New proc.
	(note-test): Update.
	(gdb-test): Handle regexp tests.  Add some logging.
	* testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
	(placeholder, use): Remove.
	(main): Add tests for deque, list, map, and set iterators.  Add
	tests for slist and slist iterator.
	* testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
	namespace.
	* python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
	the type's _Node typedef.
	(StdListIteratorPrinter.to_string): Change how node type is
	computed.
	(StdSlistPrinter.children): Use the type's _Node typedef.
	(StdSlistIteratorPrinter.to_string): Likewise.
	(StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
	typedef.
	(StdMapPrinter.children): Change how the node's type is computed.
	(StdSetPrinter.children): Likewise.
	(StdForwardListPrinter.children): Use the type's _Node typedef.
	(Printer.add_version): New method.
	(Printer.add_container): New method.
	(build_libstdcxx_dictionary): Handle __7 and __cxx1998
	namespaces.
	(find_type): New function.

From-SVN: r183732
2012-01-30 16:25:11 +00:00
Jonathan Wakely
8dfb08abc3 printers.py (StdForwardListPrinter): Add.
* python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
	* testsuite/libstdc++-prettyprinters/cxx11.cc: New.

From-SVN: r182989
2012-01-08 12:34:00 +00:00
Jonathan Wakely
9dacb44bf1 re PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)
PR libstdc++/48362
	* python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle empty
	tuples.

From-SVN: r182620
2011-12-22 12:33:15 +00:00
Tom Tromey
d63c53cce2 printers.py (_use_gdb_pp): New global.
* python/libstdcxx/v6/printers.py (_use_gdb_pp): New global.
	Try to import `gdb.printing' module.
	(UniquePointerPrinter.__init__): Add 'typename' argument.
	(StdSlistPrinter.__init__): Likewise.
	(StdSlistIteratorPrinter.__init__): Likewise.
	(StdVectorIteratorPrinter.__init__): Likewise.
	(StdRbtreeIteratorPrinter.__init__): Likewise.
	(StdDebugIteratorPrinter.__init__): Likewise.
	(StdDequeIteratorPrinter.__init__): Likewise.
	(StdStringPrinter.__init__): Likewise.
	(RxPrinter, Printer): New class.
	(libstdcxx_printer): New global.
	(register_libstdcxx_printers): Rewrite.
	(build_libstdcxx_dictionary): Rewrite.
	(pretty_printers_dict): Remove.

From-SVN: r170958
2011-03-14 20:29:23 +00:00
Jonathan Wakely
db4e59bb2b re PR libstdc++/45999 (runtime error in std::vector python pretty printer.)
2010-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45999
	* python/libstdcxx/v6/printers.py (StdVectorPrinter): Replace
	conditional expression with backward-compatible if-else.

From-SVN: r166150
2010-11-01 21:28:44 +00:00
Jonathan Wakely
708f539dd1 re PR libstdc++/45403 (python pretty printer for std::string requires GDB 7.1)
PR libstdc++/45403
	* python/libstdcxx/v6/printers.py: Check for lazy_string support.

From-SVN: r165163
2010-10-08 12:31:56 +01:00
Chris Moller
7bf7b578b7 printers.py (StdVectorPrinter): Added stuff to handle pretty-printing of std::vector<bool>.
2010-08-16  Chris Moller  <cmoller@redhat.com>

	http://sourceware.org/bugzilla/show_bug.cgi?id=11874
	* python/libstdcxx/v6/printers.py (StdVectorPrinter): Added stuff
	to handle pretty-printing of std::vector<bool>.

From-SVN: r163282
2010-08-16 18:48:27 +00:00
Matthias Klose
d1f736a2d7 - Revert two chunks from libstdc++-v3/python/libstdcxx/v6/printers.py,
left over from testing.

From-SVN: r161702
2010-07-02 10:55:51 +00:00
Matthias Klose
b2e894b50a printers.py: Don't use string exceptions.
2010-06-22  Matthias Klose  <doko@ubuntu.com>

        * python/libstdcxx/v6/printers.py: Don't use string exceptions.

From-SVN: r161233
2010-06-22 22:09:07 +00:00
Phil Muldoon
852e2c40de printers.py (StdStringPrinter.__init__): Remove encoding argument.
2010-01-15  Phil Muldoon  <pmuldoon@redhat.com>

	* python/libstdcxx/v6/printers.py (StdStringPrinter.__init__):
	Remove encoding argument.
	(StdStringPrinter.to_string): Do not compute or pass encoding.
	Use lazy_string over string function.


--this line, and those below, will be ignored--

M    libstdc++-v3/python/libstdcxx/v6/printers.py
M    libstdc++-v3/ChangeLog

From-SVN: r155951
2010-01-15 23:36:58 +00:00
Phil Muldoon
8345c8e427 printers.py (StdTuplePrinter): New printer.
2009-10-20  Phil Muldoon <pmuldoon@redhat.com>

	* python/libstdcxx/v6/printers.py (StdTuplePrinter): New printer.
	(build_libstdcxx_dictionary): Add StdTuplePrinter registration.

From-SVN: r153013
2009-10-20 13:52:34 +00:00
Phil Muldoon
cd0961a515 printers.py (StdListPrinter): Add -D_GLIBCXX_DEBUG implementation changes.
2009-10-01  Phil Muldoon <pmuldoon@redhat.com>

	* python/libstdcxx/v6/printers.py (StdListPrinter):
	Add -D_GLIBCXX_DEBUG implementation changes. Receive typename from
	printer registration.
	(StdListIteratorPrinter): Likewise.
	(StdDebugIteratorPrinter): New printer.
	(build_libstdcxx_dictionary): Add -D_GLIBCXX_DEBUG registration
	entries.  Always pass a typename where the type can change.
	(StdSlistPrinter) Receive typename from printer registration.  Use
	in printer output.
	(StdBitsetPrinter): Likewise.
	(StdDequePrinter): Likewise.

From-SVN: r152385
2009-10-01 20:43:13 +00:00
Phil Muldoon
271167f113 printers.py (StdStringPrinter.to_string): Fetch std::string to the given length.
2009-07-16  Phil Muldoon <pmuldoon@redhat.com>
	    Tom Tromey <tromey@redhat.com>

	* python/libstdcxx/v6/printers.py (StdStringPrinter.to_string):
	Fetch std::string to the given length.

Co-Authored-By: Tom Tromey <tromey@redhat.com>

From-SVN: r149714
2009-07-16 16:33:31 +00:00
Tom Tromey
ee47095bb4 printers.py (StdMapPrinter.__init__): Don't set self.iter.
* python/libstdcxx/v6/printers.py (StdMapPrinter.__init__): Don't
	set self.iter.
	(StdMapPrinter.to_string): Make a new iterator.
	(StdMapPrinter.children): Likewise.
	(StdSetPrinter.__init__): Don't set self.iter.
	(StdSetPrinter.to_string): Make a new iterator.
	(StdSetPrinter.children): Likewise.

From-SVN: r148506
2009-06-15 20:54:22 +00:00
Tom Tromey
3af622115b printers.py (lookup_function): Remove extra ';'.
* python/libstdcxx/v6/printers.py (lookup_function): Remove extra
	';'.
	(build_libstdcxx_dictionary): Accept shortened form of
	basic_string names.
	(StdStringPrinter.to_string): Remove reference to WideEncoding.

From-SVN: r148358
2009-06-10 22:59:01 +00:00
Tom Tromey
4185041973 Makefile.in, [...]: New files.
2009-05-28  Tom Tromey  <tromey@redhat.com>
	    Phil Muldoon  <pmuldoon@redhat.com>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* python/Makefile.in, , python/libstdcxx/__init__.py,
	python/libstdcxx/v6/__init__.py, python/libstdcxx/v6/printers.py,
	python/hook.in, python/Makefile.am: New files.
	* configure, Makefile.in: Rebuild.
	* acinclude.m4 (glibcxx_SUBDIRS): Add python.
	* Makefile.am (SUBDIRS): Add python.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
Co-Authored-By: Phil Muldoon <pmuldoon@redhat.com>

From-SVN: r147958
2009-05-28 17:14:18 +00:00