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: gdb.objc/objcdecode.exp test error..


On Thu, Sep 24, 2009 at 1:24 AM, Matt Rice <ratmice@gmail.com> wrote:
> On Wed, Sep 23, 2009 at 5:53 PM, Joel Brobecker <brobecker@adacore.com> wrote:

>> This would not help handling the case of breakpoint expressions
>> leading to more than one location. ?For this, once we have determined
>> all possible matches, we need to be able to store their location in
>> a way that uniquely identifies them. ?Otherwise, we wouldn't be
>> able to "re_set" each one of them when running the program, or when
>> a new shared-library is loaded.
>
> It just occured to me that we could canonicalize these homonyms
> using '-[Foo() bar]' to mean method not in a category, and
> '-[Foo(categoryName) bar]', that also means extending decode_objc to
> accept -[Foo() bar] syntax I'm not sure if it will currently accept
> it.


ok, so this patch disambiguates the homonyms,

given a method with 2 implementations:
-[Foo bar] and -[Foo(aCategoryName) bar]

going 'break -[Foo bar]' will possibly create up to 2 breakpoints
-[Foo() bar], and -[Foo(aCategoryname) bar]

if we get better homonym support we can still refer to them both as a
single deal, using [Foo bar] syntax, but we can also refer to each
method individually.

I'll get working on the other part now, I see that the ada code uses
obsavestring in this, but i'm really not quite sure what its doing and
if it is possible to do this that in this fashion yet.

2009-09-24  Matt Rice  <ratmice@gmail.com>

        * symtab.c (symbol_natural_name): Call objc_decode_symbol.
        * objc-lang.c (objc_decode_symbol): New function.

Attachment: category.diff
Description: Binary data


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