This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: gdb.c++ testsuite 1.3: member_data_static.exp (resend)
> 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?
-benjamin