Answer of Steve included in this mail, while missing in list !
1:
I need to know before compiling the source if interface RTTI is
available.
I would like to use a switch in the source:
{$ifdef HASNEWINTERFACERTTI}
....
{$endif}
2:
Well ... this is the FPC/Delphi structure at the moment:
TIntfMethodEntryTail =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
packed
{$endif}
record
{$ifdef FPC}
Version: Byte; // always 3 at the moment
{$else} // Delphi
Kind: TMethodKind;
{$endif}
CC: TCallingConvention;
{$ifdef FPC}
ResultType: PTypeInfo;
StackSize: Word;
{$endif}
ParamCount: Byte;
{Params: array[0..ParamCount - 1] of TVmtMethodParam;}
end;
Alfred.
What exactly does the flag indicate.
1. Reading the structure as in typinfo woks
2. Register / Offset have meaningfull values instead of default 0 / 0
(for unimplemented targets)
2: Alignment
Using brute force (due to lacking compiler knowledge), I could dig
into ARM alignment issues. No problem.
However, at the moment, the issues are known (and correctly
implemented in mORMot).
So, I have to know the goal.
This cast works again: PVmtMethodParam(p)^
This was the important part.
This cast does not work: PIntfMethodEntry(p)^
In my opinion, as long as there is no delphi compatibility broken, the
target is whatever we feel comfortable with.
Question: What alignment issues should have to be solved ?
If there is no issue with how its currently handled. I would say leave
it as is.
greets Steve
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel