printing VTT pointer?
Daniel Jacobowitz
drow@mvista.com
Mon Jun 30 03:20:00 GMT 2003
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
More information about the Gdb
mailing list