2016-03-02 0:16 GMT+01:00 Sven Barth <[email protected]>:

> This is by design and your patch would break existing code anyway.
>
> The init RTTI contains merely those fields that need initialization
> (namely interfaces, strings and dynamic arrays) and which is used for the
> fpc_initialize(), fpc_finalize() and fpc_assign() helpers while the full
> RTTI contains all typed, even those that don't need initialization. Please
> note that not all types need a separate init RTTI (e.g. classes), but
> records do (this is determined by needs_separate_init_rtti that each def
> overrides).
>
my patch was created only on Michael request. ;) thanks for clarification,
that makes sense, it works as expected (my second email as a proof). As far
as i understand is possible to divide record RTTI data on INIT table and
RTTI table.

INIT table:
-record size
-managed fields
-management operators (done in my branch, not committed yet)

RTTI table (eventually TODO):
-attributes
-other operators
-other info about properties and methods etc.

RTTI table in most of cases includes also most of INIT table data (probably
full copy).
-- 
Best regards,
Maciej Izak
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to