public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug python/10710] New: libstdc++ UniquePointerPrinter GDB Python printer does not work
@ 2009-09-30 13:32 pmuldoon at redhat dot com
2009-10-01 20:28 ` [Bug python/10710] " tromey at redhat dot com
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: pmuldoon at redhat dot com @ 2009-09-30 13:32 UTC (permalink / raw)
To: gdb-prs
Given this example:
std::unique_ptr<char[]> t_uptr (new char[1]);
t_uptr[0] = 'z';
The output from the pretty printer reads:
t_uptr = {
<std::_Tuple_impl<0ul, char*, std::default_delete<char []> >> = {
<std::_Tuple_impl<1ul, std::default_delete<char []> >> = {
<std::_Tuple_impl<2ul>> = {<No data fields>},
<std::_Head_base<1ul, std::default_delete<char []>, true>> = {
<std::default_delete<char []>> = {<No data fields>}, <No data fields>},
<No data fields>},
<std::_Head_base<0ul, char*, false>> = {
_M_head_impl = 0x61b7b0 "z"
}, <No data fields>}, <No data fields>}
Which is incorrect. It seems the printer needs to access _M_head_impl. The
following trivial patch fixes it in this simple case, but I've not tested this
at all beyond my one case. If this patch is applied, the output is:
(gdb) p t_uptr
$1 = 0x61b7b0 "z"
Index: libstdc++-v3/python/libstdcxx/v6/printers.py
===================================================================
--- libstdc++-v3/python/libstdcxx/v6/printers.py (revision 152325)
+++ libstdc++-v3/python/libstdcxx/v6/printers.py (working copy)
@@ -40,7 +40,7 @@
self.val = val
def to_string (self):
- return self.val['_M_t']
+ return self.val['_M_t']['_M_head_impl']
class StdListPrinter:
"Print a std::list"
--
Summary: libstdc++ UniquePointerPrinter GDB Python printer does
not work
Product: gdb
Version: archer
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: python
AssignedTo: unassigned at sourceware dot org
ReportedBy: pmuldoon at redhat dot com
CC: gdb-prs at sourceware dot org
http://sourceware.org/bugzilla/show_bug.cgi?id=10710
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug python/10710] libstdc++ UniquePointerPrinter GDB Python printer does not work
2009-09-30 13:32 [Bug python/10710] New: libstdc++ UniquePointerPrinter GDB Python printer does not work pmuldoon at redhat dot com
@ 2009-10-01 20:28 ` tromey at redhat dot com
2009-10-21 11:57 ` pmuldoon at redhat dot com
2009-10-21 11:59 ` pmuldoon at redhat dot com
2 siblings, 0 replies; 4+ messages in thread
From: tromey at redhat dot com @ 2009-10-01 20:28 UTC (permalink / raw)
To: gdb-prs
------- Additional Comments From tromey at redhat dot com 2009-10-01 20:28 -------
We discussed this on irc & agreed that maybe a tuple printer
would be a better (more general) solution.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |tromey at redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=10710
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug python/10710] libstdc++ UniquePointerPrinter GDB Python printer does not work
2009-09-30 13:32 [Bug python/10710] New: libstdc++ UniquePointerPrinter GDB Python printer does not work pmuldoon at redhat dot com
2009-10-01 20:28 ` [Bug python/10710] " tromey at redhat dot com
@ 2009-10-21 11:57 ` pmuldoon at redhat dot com
2009-10-21 11:59 ` pmuldoon at redhat dot com
2 siblings, 0 replies; 4+ messages in thread
From: pmuldoon at redhat dot com @ 2009-10-21 11:57 UTC (permalink / raw)
To: gdb-prs
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at sourceware dot|pmuldoon at redhat dot com
|org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed| |1
http://sourceware.org/bugzilla/show_bug.cgi?id=10710
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug python/10710] libstdc++ UniquePointerPrinter GDB Python printer does not work
2009-09-30 13:32 [Bug python/10710] New: libstdc++ UniquePointerPrinter GDB Python printer does not work pmuldoon at redhat dot com
2009-10-01 20:28 ` [Bug python/10710] " tromey at redhat dot com
2009-10-21 11:57 ` pmuldoon at redhat dot com
@ 2009-10-21 11:59 ` pmuldoon at redhat dot com
2 siblings, 0 replies; 4+ messages in thread
From: pmuldoon at redhat dot com @ 2009-10-21 11:59 UTC (permalink / raw)
To: gdb-prs
------- Additional Comments From pmuldoon at redhat dot com 2009-10-21 11:59 -------
This was fixed recently with the inclusion of a std::tuple printer in the
libstdc++ library.
http://gcc.gnu.org/ml/gcc-cvs/2009-10/msg00666.html
Author: pmuldoon
Date: Tue Oct 20 13:52:34 2009
New Revision: 153013
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153013
Log:
* python/libstdcxx/v6/printers.py (StdTuplePrinter): New printer.
(build_libstdcxx_dictionary): Add StdTuplePrinter registration.
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/python/libstdcxx/v6/printers.py
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://sourceware.org/bugzilla/show_bug.cgi?id=10710
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-10-21 11:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-30 13:32 [Bug python/10710] New: libstdc++ UniquePointerPrinter GDB Python printer does not work pmuldoon at redhat dot com
2009-10-01 20:28 ` [Bug python/10710] " tromey at redhat dot com
2009-10-21 11:57 ` pmuldoon at redhat dot com
2009-10-21 11:59 ` pmuldoon at redhat dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).