On 12 Mar 2010, at 02:44, Paul Ishenin wrote:

I know at the moment we have the next problems which cause subj don't work:

1. gdb does not supports borland fastcall calling convention (delphi calls it register though) 2. fpc does not write debug info for properties with getters because of point 1.

There's more:
a) DWARF debug information does not know the concept of properties (and I have not seen a proposal for adding it yet on the DWARF mailing list or website), only of fields and of methods (so you'd have to add these properties as methods -- in which case probably only getters can be supported) b) there is no support yet in the GDB Pascal parser to call methods (at least not via instance.methodname; there may be other ways to call them, but I don't know how)

I only have a hack for b) currently, because it makes accessing fields case-sensitive in GDB's Pascal mode (which means you have to type all fields names in uppercase).

Let's see what properties getters we can have:
1. Majority of them are
 function GetSomething: SomeType;
2. Others are:
function GetSomethingWithIndex(const Index1, ..., IndexN: SomeType): SomeType;

Looking at first type of functions I see that there are no arguments passed to the function. So maybe these functions could be marked with some other calling convention which is similar to fastcall regards result return? Maybe 'pascal' or 'stdcall' could be used for such functions?

The default calling convention could be used. This would only work for routines with "simple" return types though (types that are not returned via a hidden first parameter).


Jonas
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to