This is the mail archive of the gdb-patches@sourceware.org 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: [RFA] Fix c++/16253 (tag/variable name collision)


Hey Keith,

> I must also give a shout out to Joel -- I've largely avoided hacking
> with/at Ada. In fact, Ada *largely* remains unchanged. However, it
> now must explicitly search STRUCT_DOMAIN in a few places itself (an
> analogous change to the other symbol table API changes I've made).
> Joel, if you could run this through your internal AdaCore test
> harness, that would be most helpful.

I had a chance to test your patch today, and unfortunately our testsuite
detected some regressions. I think they might all be the same, so I
picked the simplest testcase. I might be running short of time today
to look deeper into this, but I can try scheduling some time for it
tomorrow or Wed.

    % gnatmake -g foo
    % gdb foo
    (gdb) ptype base

It should have been:

    (gdb) ptype base
    type = (first, middle, last)

The debugger finds the type if you start the program, but I think
it's because it finds it via the DIE generated inside the main
subprogram's DIE because of the variable of that type declared
there:

    (gdb) start
    Temporary breakpoint 1 at 0x401d86: file foo.adb, line 4.
    Starting program: /[...]/foo

    Temporary breakpoint 1, foo () at foo.adb:4
    4          B : Base := Base'First;   <<<<<---  the variable of type Base
    (gdb) ptype base
    type = (first, middle, last)

This may not be directly related to your patch. I seem to have seen
some unexplainable behavior in GDB occasionally in the recent past
making me wonder whether there might be something fishy in the symbol
lookup for Ada.

-- 
Joel

Attachment: pck.ads
Description: Text document

Attachment: pck.adb
Description: Text document

Attachment: foo.adb
Description: Text document


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