Re: gdb.c++ testsuite 1.3: member_data_static.exp (resend)

Daniel Jacobowitz
2002-05-29T15:43:10Z

On Wed, May 29, 2002 at 08:19:30AM -0700, B. Kosnik wrote:
>
> > Compile the testcase (just -c will do). Then run `nm' over the
> > symbols. Look for the `data' member; it isn't there. <optimized out>
> > is correct. My C++ lawyering is a little rusty, but I believe this is
> > correct; it's a templated member, and not explicitly instantiated, and
> > not even implicitly instantiated. I don't see a reason for it to be
> > emitted, and if it isn't emitted GDB can't help you figure out what
> > its value is.
>
> Aaah. You are correct.
>
> Adding:
> template class __gnu_test::gnu_obj_3<long>;
> template class __gnu_test::gnu_obj_2<int>;
>
> Gives:
>
> (gdb) p test3
> $1 = {static data = {<gnu_obj_1> = {static test = true, static key1 = 5,
>
> static key2 = 77, static value = oriental}, _vptr.gnu_obj_2 =
> 0x8092fac,
> static value_derived = etruscan}}
>
> So, with this addition, this test case would pass, no?

Looks that way to me. That sounds like the right solution.

--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer