This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]