This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Another "ptype B" validity question
- From: Michael Elizabeth Chastain <mec at shout dot net>
- To: gdb at sources dot redhat dot com
- Date: Tue, 3 Dec 2002 09:56:58 -0600
- Subject: Another "ptype B" validity question
I'm seeing some new output from the "ptype" command when I use a new
version of the compiler.
Here are some gdb.log excerpts.
The first excerpt is fine:
# gdb HEAD, gcc 3.2.1, binutils 2.13.1, stabs+
ptype class B
type = class B : public A {
public:
int b;
int x;
B & operator=(B const&);
B(B const&);
B();
}
(gdb) PASS: gdb.c++/classes.exp: ptype class B
The second excerpt raises an issue:
# gdb HEAD, gcc HEAD, binutils 2.13.1, stabs+
ptype class B
type = class B : public A {
public:
A;
int b;
int x;
B & operator=(B const&);
B(B const&);
B();
}
(gdb) FAIL: gdb.c++/classes.exp: ptype class B
Note the "A" line. I suppose this is gdb's way of showing the
base class as a data member.
My questions are:
. What should gdb print for this ptype operation?
. If gdb does print the "A;" member, is that acceptable or not?
Note that this is a slightly different question!
. More generally, what is the long term future of stabs+?
I really need an answer for #2 so that I can decide whether to change
the test script or brandish the FAIL in a bug report.
My view is that the test suite should be liberal about what it accepts
in the output of "ptype" as long as it is somehow correct and does not
mislead human users. In this case, I think that most C++ programmers
would understand the nature of the "A;" line, so I would like to
change classes.exp to accept it.
Michael C