Commit History

Upphovsman SHA1 Meddelande Datum
  maciej-izak 4154b4ca8a * Call management operators also for records with zero-size. For that purpose was changed function RTTISize. New name for RTTISize is RTTISizeAndOp. RTTISizeAndOp can return size of required type and information about existing management operators for that type in current context (to determine context is used enum TRTTIRecOpType which is passed also as parameter in RTTISizeAndOp). RTTISizeAndOp is used in fpc_initialize_array, fpc_finalize_array, fpc_addref_array and CopyArray. 8 år sedan
  maciej-izak 9a9eb1b840 * Use RTTIRecordRttiInfoToInitInfo (when FPC_HAS_MANAGEMENT_OPERATORS is not defined) for records/objects in fpc_Copy as well as for fpc_Initialize, fpc_finalize, fpc_Addref 8 år sedan
  maciej-izak 8a68a7aea8 * Declare field RecordOp for TRecordInfoInit only when FPC_HAS_MANAGEMENT_OPERATORS is defined, same for additional types for management operators. 8 år sedan
  maciej-izak d42428bc3c * Initial support for management operators in RTL (rtl/inc/rtti.inc): 8 år sedan
  maciej-izak af8e0efe57 * Rtti info about Management Operators (MO) in init table for records. Note: commit contains minimal changes for RTL (for proper "make") no functional changes. More RTL changes for fully functionally MO in next commits. 8 år sedan
  florian 0b82f71e8d * take care of the fact that there are 32 bit abis (e.g. ARMHF) which align qword on 8 byte boundaries, resolves issue #31132 8 år sedan
  svenbarth 121a857af8 * fix for Mantis #31118: applied patch by Maciej Izak to fix usage of wrong variable 8 år sedan
  svenbarth 7089677a22 * change RecInitTable into a direct reference to avoid an unnecessary indirection as both the full and init RTTI of a record always reside inside the same unit 8 år sedan
  svenbarth 12dba952f0 * integration of Part 2 patch of Mantis #30687 with a few adjustments: 8 år sedan
  florian c32e41b551 + add missing semicolon in fpc_initialize_array declaration, patch by Maciej Izak 8 år sedan
  svenbarth 345d83c3e3 Merge RTTI changes from packages branch (including adjustments that were required due to changes in trunk since then). These changes favor source backwards compatibility in contrast to Delphi compatibility. Binary compatiblity is however drastically broken due to the indirect references that are platform independant! 9 år sedan
  marco 4733e50de5 * system unit additions from mantis #27206. Exports some dynarray related RTTI functions. 10 år sedan
  pierre 034c440d84 Fix big mistake in previous commit, packed must be disabled if FPC_REQUIRES_PROPER_AIGNMENT is set 11 år sedan
  pierre 8193aff81d Fix cycle starting for 2.6.4 release for powerpc64-linux 11 år sedan
  sergei ae81e0889b * Updated internal declarations of RTTI structures to match their counterparts in typinfo unit and actual data generated by compiler. It went unnoticed this far because fields whose location differ with and without 'packed' record attribute are not used by internal routines, and tests use declarations from typinfo unit (the declarations in question are not in interface, so tests cannot be done against them). 11 år sedan
  paul 72fd58d62e rtl: fix possible division by zero 12 år sedan
  paul fe04dedbab compiler: change RTTI size of record field offset from fixed 32bit to platform dependent integer (sizeint) since it is stored this way in the compiler. This is also Delphi compatible, rtl: adopt rtl appropriately 12 år sedan
  paul dce960c97b compiler: write Delphi compatible tkArray RTTI: 12 år sedan
  paul d18f273f67 compier, rtl: revert 24424 since it fails on some platforms 12 år sedan
  paul e23534eec4 compiler, rtl: some rtti related changes: 12 år sedan
  sergei 27c626245b * Reuse RecordRTTI to finalize class instances. This is possible because RTTI for classes is the same as for records (except different value of tkKind field), and RecordRTTI ignores tkKind (assuming that required checks are done by its caller). 12 år sedan
  sergei f136e44b6b - RTL: cleaned up remaining 'decr_ref' routines (not removed completely due to bootstrapping needs, but aliased to 'finalize' ones). 13 år sedan
  sergei 568ef396fb * Added fpc_dynarray_assign (a helper for dynamic array assignments), added local access to fpc_intf_assign, and switched fpc_copy to use assignment helpers instead of incr_ref/decr_ref combinations. 13 år sedan
  sergei 0d3fa2d2db - Cleaned out VER2_2 defines 14 år sedan
  sergei c2ea372682 * Declared types describing RTTI data of arrays and records, and rewrote main RTTI routines using these types. Shorter by about 60 lines, functionality isn't changed. 14 år sedan
  sergei 1fcd40ee64 Continue fixing open array handling: 14 år sedan
  sergei 54bc8efa0b * Fixed reference counting of open array parameters passed by value. RTTI of the array itself is useless in this case, as it does not provide correct element count. Now using dedicated helpers which take RTTI of array element and the element count. Resolves #18859. 14 år sedan
  Jonas Maebe 749991ec02 + support extra parameter for initialize() that indicates how many elements 15 år sedan
  florian e01e4e5719 * optimized copy(<dyn. array> ...) by checking if the elements are really ref. counted 15 år sedan
  marco 4104d9f481 * More pluggability of the RTL. Mantis 15124 16 år sedan