This is the mail archive of the 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++ failures

>>>>> "Michael" == Michael Elizabeth Chastain <> writes:

> Jason Merrill writes:
>> method.exp: The 'print this' tests are failing because gdb is printing
>> the types as, say, (A * const), and the test just wants (A *).  The
>> former is correct, since 'this' is readonly.  Any objection to changing
>> the test (and others affected) to allow the const?

> Fred Fish submitted a patch for this.

Quite so.  Fred, it looks good to me.

> There is a second issue in the patch about the type of "this" in const
> methods.  The type should be "const A *", and I would be willing to
> accept "const A * const".  But gdb with stabs is printing just plain "A
> *".

The stabs output from gcc ignores const and volatile.  There is even a
comment saying that "stabs does not distinguish const and volatile".
The method qualifiers are described, and gdb could do the work to apply
them to the type of 'this', but it's probably fine just to leave it as it

>> templates.exp:
>> Also, the cv-qual placement issue breaks 'print Foo<volatile char *>::foo';
>> it needs to be 'print "Foo<char volatile*>::foo"' to match the demangler
>> output.  I take it the aCC demangler makes different choices?  I don't
>> see any way to get around the dependence of template naming on the
>> canonical format chosen by the demangler unless gdb learns to mangle
>> names itself; perhaps the syntax of the test should vary with the compiler.

> The test script could probe the demangler and then provide whatever
> input gdb is using that day.  See gdb.c++/cplusfuncs.exp probe_demangler
> for an example.

Good idea.  But is there no way to return a matched string in gdb_expect?
Testing for all possible permutations seems rather cumbersome.


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