This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] ada testsuite: False FAILs with gcc debug info
On Mon, 28 Mar 2011 18:50:22 +0200, Joel Brobecker wrote:
> Just a thought: Perhaps it might be easier to flip runtimes if you
> provide the runtime with debug info as a second runtime. There is
> a way to do this, and then the user controls which one he wants using
> --RTS=<rts-name> (only when the default one is not the one he wants).
I do not understand this much. I have the single system only compiler, which
also provides debug info for all its parts. While I can have some special GCC
builds still with the default system compiler the GDB testsuite should work.
> This is incorrect, but I cannot reproduce (we should be able to get
> the same behavior by recompiling the program with "-f -a", which tells
> gnatmake to recompile everything, including runtime files).
`gnatmake -f -a -g foo' works but it gives the same results for me.
> And type Character_Set does not match type String:
It does match:
(gdb) set language c
(gdb) ptype ada__strings__maps__Oeq
type = boolean (ada__strings__maps__character_set___XP1 &, ada__strings__maps__character_set___XP1 &)
(gdb) set language auto
(gdb) ptype ada.strings.maps.character_set
type = array (character) of boolean <packed: 1-bit elements>
(gdb) ptype "a"
type = array (1 .. 1) of character
and ada_type_match for TYPE_CODE_ARRAY returns 1 without checking whether the
array's target type matches. And both these types are arrays. Why
Character_Set should not match String with this ada_type_match implementation?
> I think the debugging info must be incorrect.
So far it seems to me ada_type_match has a bug, does not it?
> > gdb/testsuite/
> > 2011-03-27 Jan Kratochvil <jan.kratochvil@redhat.com>
> >
> > * gdb.ada/arrayparam.exp (print first after function call): Use
> > explicit package name. Add a comment
> > (print lasta after function call): Rename ...
> > (print last after function call): ... it and use explicit package
> > name.
> > (print length after function call): Use explicit package name.
> > * gdb.ada/str_ref_cmp.exp (operator = works for strings): New test.
> > * gdb.ada/sym_print_name.exp: Change `i' to `integervar'.
> > (multiple matches for symbol i): Rename ...
> > (multiple matches for symbol integervar): ... it.
> > * gdb.ada/sym_print_name/foo.adb (Foo): Change `I' to `IntegerVar'.
> > * gdb.ada/sym_print_name/pck.ads (Pck): Likewise.
>
> This is OK.
Therefore checked in so that it no longer occasionally gives false
regressions.
http://sourceware.org/ml/gdb-cvs/2011-03/msg00308.html
Thanks,
Jan