[fpc-devel] RTTI interface & variant late binding issue (mORMot)

Steve Hildebrandt Steve.Kassel at web.de
Wed Feb 25 19:16:17 CET 2015

Am 25.02.2015 um 18:47 schrieb Alfred:
> Hello Steve, all,
> I would like to report 100% success with the latest RTTI patches !!!!
Nice to hear.
If anything is not compatible with the information delphi provides 
please report back to me.
> One (first) request:
> Would it be ok to add pfConstRef to the TParamFlag in typinfo.pp ?
The RTTI should already be generated the enum value was simply missing.
See attached Patch.
> One (second) request:
> The same RTTI on ARM would also be very welcome.
> As stated before, my interest is running mORMot on ARM (e.g. Raspberry 
> Pi[2]).
Since I'm unable to test it myself right now, I could only try to write 
this blind and let somebody else do the testing.
It would also help to know what calling conventions are supported and 
how they work if they are not compareable to the i386/x64 ones.
(Link to a good documentation or a short write up)
The other way this could work is, if somebody with an ARM system takes 
over and I explain where compiler changes need to be made.

mfg Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20150225/013ddd18/attachment.html>
-------------- next part --------------
>From 87e08189db2616e6295f50fe189c03a4edab922b Mon Sep 17 00:00:00 2001
From: Steve Hildebrandt <Steve.Kassel at web.de>
Date: Wed, 25 Feb 2015 19:02:22 +0100
Subject: [PATCH 5/5] Added pfConstRef

 rtl/objpas/typinfo.pp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rtl/objpas/typinfo.pp b/rtl/objpas/typinfo.pp
index 4e0db32..96eaca5 100644
--- a/rtl/objpas/typinfo.pp
+++ b/rtl/objpas/typinfo.pp
@@ -54,7 +54,7 @@ unit typinfo;
        TMethodKind = (mkProcedure,mkFunction,mkConstructor,mkDestructor,
-       TParamFlag     = (pfVar,pfConst,pfArray,pfAddress,pfReference,pfOut);
+       TParamFlag     = (pfVar,pfConst,pfArray,pfAddress,pfReference,pfOut,pfConstRef);
        TParamFlags    = set of TParamFlag;
        TIntfFlag      = (ifHasGuid,ifDispInterface,ifDispatch,ifHasStrGUID);
        TIntfFlags     = set of TIntfFlag;

More information about the fpc-devel mailing list