svenbarth
|
a076677336
* instead of a flags field generate a table with all Initialize operators of all fields (nested or not, parent class or not) for class types; objects and records don't use this (yet)
|
7 năm trước cách đây |
svenbarth
|
8536abce8a
* as the management operator feature is not platform specific using a specific define for it aside from a
|
7 năm trước cách đây |
svenbarth
|
4d0ab82ef7
* optimize class initialization by calling RTTIRecord() only when required for a non-trivial initialization
|
7 năm trước cách đây |
svenbarth
|
393d1c2256
* move RTTI related types from rtti.inc to rttidecl.inc
|
7 năm trước cách đây |
svenbarth
|
bbf578b193
* move definition of USE_PACKED from rtti.inc to rttidecl.inc
|
7 năm trước cách đây |
svenbarth
|
8b5461367b
* move TTypeKind from TypInfo unit to System unit as it's necessary for the future GetTypeKind() intrinsic
|
8 năm trước cách đây |
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 năm trước cách đây |
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 năm trước cách đây |
maciej-izak
|
8a68a7aea8
* Declare field RecordOp for TRecordInfoInit only when FPC_HAS_MANAGEMENT_OPERATORS is defined, same for additional types for management operators.
|
8 năm trước cách đây |
maciej-izak
|
d42428bc3c
* Initial support for management operators in RTL (rtl/inc/rtti.inc):
|
8 năm trước cách đây |
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 năm trước cách đây |
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 năm trước cách đây |
svenbarth
|
121a857af8
* fix for Mantis #31118: applied patch by Maciej Izak to fix usage of wrong variable
|
8 năm trước cách đây |
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 năm trước cách đây |
svenbarth
|
12dba952f0
* integration of Part 2 patch of Mantis #30687 with a few adjustments:
|
8 năm trước cách đây |
florian
|
c32e41b551
+ add missing semicolon in fpc_initialize_array declaration, patch by Maciej Izak
|
8 năm trước cách đây |
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 năm trước cách đây |
marco
|
4733e50de5
* system unit additions from mantis #27206. Exports some dynarray related RTTI functions.
|
10 năm trước cách đây |
pierre
|
034c440d84
Fix big mistake in previous commit, packed must be disabled if FPC_REQUIRES_PROPER_AIGNMENT is set
|
11 năm trước cách đây |
pierre
|
8193aff81d
Fix cycle starting for 2.6.4 release for powerpc64-linux
|
11 năm trước cách đây |
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 năm trước cách đây |
paul
|
72fd58d62e
rtl: fix possible division by zero
|
12 năm trước cách đây |
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 năm trước cách đây |
paul
|
dce960c97b
compiler: write Delphi compatible tkArray RTTI:
|
12 năm trước cách đây |
paul
|
d18f273f67
compier, rtl: revert 24424 since it fails on some platforms
|
12 năm trước cách đây |
paul
|
e23534eec4
compiler, rtl: some rtti related changes:
|
12 năm trước cách đây |
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 năm trước cách đây |
sergei
|
f136e44b6b
- RTL: cleaned up remaining 'decr_ref' routines (not removed completely due to bootstrapping needs, but aliased to 'finalize' ones).
|
13 năm trước cách đây |
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 năm trước cách đây |
sergei
|
0d3fa2d2db
- Cleaned out VER2_2 defines
|
14 năm trước cách đây |