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]

Re: [RFA] testsuite/gdb.c++/cplusfuncs.{exp,cc}: work with either g++ demangler


Finally I was able to look a Michael's patch...

First of all, thanks for taking care of this all all the work you put into it.

I though of possible alternatives like, for instance, having the test act accordingly to the configuration.  But gcc and gdb versions are not released simultaneously, so this is not possible.  For instance: gcc default will be v3 while gdb default will be v2 (for 5.1 at least).

Also, we must consider that what the tests are really checking for is not the presence of one some spaces, but that the right methods were found etc. (well, int and void disappearing does hurt a bit, but still, that was not what the test was written for).

So, your approach is the only one that we can rely on.


A few comments:

1) If we had the "known failures" we could have marked those 8 tests as such and associated with the Gnats id.  We could have avoided distancing more from the zero baseline that we would like so much and still have the two bug entry summaries printed in a list of known bugs for this code base at the end.

2) I hate adding new FAILs, but as we don't have (1) and XFAILS are not an acceptable alternative I guess there is not much we can do.  I will add one myself for that "nexti" that is broken.

3) Your patch should have been submitted as 3 separate patches.  The grouping is not for being on the same file but rather on the issue that is being addressed.  I will overlook it, but please remember this in future submissions.

4) Before checking in, please add some of the comments to the test file (see below).  No need to repost.

5) This is a nitty-picky thing :-) Please add a period after "New file" in your first ChangeLog entry (and capitalize the following letter) before checking it in.


And again, thanks for the patch.

Regards,
Fernando




This is nice to have in the test file:

> gdb has two g++ demanglers.
> 
>   old demangler         new demangler
>   --- ---------         --- ---------
>   "operator, "          "operator,"
>   "char *"              "char*"
>   "int *"               "int*"
>   "long *"              "long*"
>   "void *"              "void*"
>   "foo &"               "foo&"
>   "unsigned int"        "unsigned"
>   "void"                ""
> 



Can you please add a not to gdb/18 with this:

> The new FAILs caused by the bug in gdb/18 are:
> 
>   FAIL: gdb.c++/cplusfuncs.exp: info function for "operator*("
>   FAIL: gdb.c++/cplusfuncs.exp: info function for "operator*=("
>   FAIL: gdb.c++/cplusfuncs.exp: info function for "operator->*("
>   FAIL: gdb.c++/cplusfuncs.exp: info function for "operator[]("
>   FAIL: gdb.c++/cplusfuncs.exp: info function for "operator char *("
> 


And one to gdb/19 with this:
> 
> The new FAILs caused by the bug in gdb/19 are:
> 
>   FAIL: gdb.c++/cplusfuncs.exp: print &'hairyfunc5'
>   FAIL: gdb.c++/cplusfuncs.exp: print &'hairyfunc6'
>   FAIL: gdb.c++/cplusfuncs.exp: print &'hairyfunc7'
> 

This can be useful for whoever is working on fixing these PRs.



-- 
Fernando Nasser
Red Hat - Toronto                       E-Mail:  fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario   M4P 2C9


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