Commit Graph

20 Commits

Author SHA1 Message Date
Tom Tromey
c4269a634c cxx11.cc (struct datum): New.
* testsuite/libstdc++-prettyprinters/cxx11.cc (struct datum):
	New.
	(global): New global.
	(main): Add test for unique_ptr.
	* python/libstdcxx/v6/printers.py
	(UniquePointerPrinter.to_string): Extract the pointer and also
	print its type.

From-SVN: r190417
2012-08-15 18:37:30 +00:00
Benjamin Kosnik
4dad8b49ee unordered_map.h (__unordered_map): Remove.
2012-04-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/unordered_map.h (__unordered_map): Remove.
	(__unordered_multimap): Remove.
	Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
	__ummap_hashtable.
	(unordered_map): Derive from __umap_hashtable.
	(unordered_multimap): Derive from __ummap_hashtable.
	* include/bits/unordered_set.h (__unordered_set): Remove.
	(__unordered_multiset): Remove.
	Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
	__umset_hashtable.
	(unordered_set): Derive from __uset_hashtable.
	(unordered_multiset): Derive from __umset_hashtable.
	* include/bits/hashtable.h (__cache_default): New, consolidated
	cache defaults for _Hashtable. Adjust comments for doxygen.
	(_Hashtable): Consolidate bool template parameters into new,
	_Traits class. Inherited base classes synthesize _Hashtable in
	CRTP via original 10 parameters. Prefer using declarations to
	typedefs, add __node_type, __bucket_type, etc. Push many nested
	types down hierarchy to _Hashtable_base. Add constructors
	necessary for top-level unordered_containers. Consolidate insert
	member functions and logic in new base class, __detail::_Insert
	and __detail::_Insert_base.
	(_Hashtable::operator=(initializer_list)): Add.
	* include/bits/hashtable_policy.h: Convert to doxygen markup.
	(_Hashtable_traits) New. Consolidate bool template parameters here.
	(_Insert, _Insert_base): New, consolidated insert member functions.
	(_Map_base, _Equality, _Rehash_base): Adjust template parameters,
	use base types.
	(_Hashtable_base): Move type declarations useful to other base
	classes into this class.
	* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adjust traits, line numbers.

From-SVN: r186403
2012-04-13 00:33:10 +00:00
Tom Tromey
d25b1e3a80 cxx11.cc (main): Add new tests.
* testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new
	tests.
	* python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__):
	Rewrite.
	(Tr1HashtableIterator.update): Remove.
	(Tr1HashtableIterator.next): Rewrite.

From-SVN: r184233
2012-02-14 20:38:39 +00:00
Jonathan Wakely
a1527f2f5b re PR libstdc++/51956 ([patch] improve shared_ptr and weak_ptr pretty-printers for gdb)
PR libstdc++/51956
	* python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
	(SharedPointerPrinter): This. Also show weak count.
	* testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.

From-SVN: r183914
2012-02-05 19:10:15 +00:00
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