This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: printing VTT pointer?
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Michael Elizabeth Chastain <mec at shout dot net>
- Cc: carlton at kealia dot com, gdb at sources dot redhat dot com
- Date: Sun, 29 Jun 2003 13:34:31 -0400
- Subject: Re: printing VTT pointer?
- References: <200306291725.h5THPJ99003317@duracef.shout.net>
On Sun, Jun 29, 2003 at 01:25:19PM -0400, Michael Elizabeth Chastain wrote:
> I'm chasing down some regressions from gcc 3.2.2 to gcc 3.3.
> There are three C++ stabs+ scripts with regressions.
> Here's a difference from inherit.exp.
>
> The class definitions are:
>
> class vA { public: int va; int vc; };
> class vB : public virtual vA { public: int vb; int vx; };
> vB g_vB;
>
> And the output from five different compilers is:
>
> # gcc 2.95.3 -gstabs+
> print g_vB^M
> $73 = {<vA> = {va = 3, vx = 4}, _vb$vA = 0x804970c, vb = 5, vx = 6}^M
> (gdb) PASS: gdb.c++/inherit.exp: print g_vB
>
> # gcc 3.2.3 -gstabs+
> print g_vB^M
> $73 = {<vA> = {va = 3, vx = 4}, _vptr.vB = 0x804fe6c, vb = 5, vx = 6}^M
> (gdb) PASS: gdb.c++/inherit.exp: print g_vB (FIXME v3 vtbl ptr)
>
> # gcc 3.3 -gstabs+
> print g_vB^M
> $73 = {<vA> = {va = 3, vx = 4}, _vptr.vB = 0x804ea74 <VTT for vB>, vb = 5, vx = 6}^M
> (gdb) FAIL: gdb.c++/inherit.exp: print g_vB
I have no idea why this appeared, or why it went away again - that's
very strange. However, I think it's acceptable either way.
In the long run all of these will become the same output, but that's
not till I (or someone else!) has more time to work on the cosmetic
issues.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer