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]
Other format: [Raw text]

Re: [rfa] linespec.c, part 3


I'm not sure if you want to deal with this now, or if you'd rather I wait until you're done with merging your changes, but I figured I'd mention it now while you were looking at set_flags stuff:

The linespec.c changes you posted looked so cool, we couldn't resist using them. So rather than try to deal with the merge conflicts from the upcoming stream of linespec.c patches, we decided to re-add our Objective-C support to the linespec.c from your branch and use that as our linespec.c.

One issue that came up was that the part of our code that decodes an Objective-C function needs to have the if-clause removed from the breakpoint expression (since Objective-C functions can contain spaces). We did this by extending set_flags to pass back a pointer to the if-clause, if there was one, and by splitting decode_line_1 into two functions, one of which sets the defaults, calls set_flags, strips off the if-clause and calls decode_line_2, which does the actual parsing.

The downside to this is that there's yet one more function to be called in the parsing process; the upside is that the actual parsing code doesn't have to worry about the presence of the if-clause, and that decode_line_1 gets even shorter.

Attachment: linespec.txt
Description: Text document


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