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
