Michael VAN CANNEYT
|
d2d3fe6bc3
* Char -> AnsiChar
|
2 gadi atpakaļ |
Károly Balogh
|
45b5e9215c
rtl: remove defines for v2.x compiler from the common part of the RTL. It's no longer suppported to build with that
|
4 gadi atpakaļ |
svenbarth
|
97c8464b11
* fix for Mantis #36738: when copying a record using its copy operator we assume that we've copied the whole record; this way managed records inside non-managed records are handled correctly
|
5 gadi atpakaļ |
florian
|
931d4dcfee
* ensure the rtl and the packages for embedded compile with features exceptions and classes disabled
|
5 gadi atpakaļ |
svenbarth
|
00a418f589
* also correctly align the pointer for the record elements inside FPC_COPY
|
6 gadi atpakaļ |
svenbarth
|
0c46460548
* m68k has slightly different alignment requirements, so that aligntoptr might result in incorrect addresses for a record's element entries, thus we introduce a separate AlignTypeData function that handles this correctly
|
6 gadi atpakaļ |
pierre
|
d6d3e171ce
Try to fix alignment issues in RTTI code for 64-bit targets which require proper alignment
|
6 gadi atpakaļ |
florian
|
a60ab40237
* handle records with managed fields correctly after attribute merge fixes
|
6 gadi atpakaļ |
florian
|
217ae6e4bb
* more fixes to rtti after attribute branch merging
|
6 gadi atpakaļ |
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 gadi atpakaļ |
svenbarth
|
8536abce8a
* as the management operator feature is not platform specific using a specific define for it aside from a
|
7 gadi atpakaļ |
svenbarth
|
4d0ab82ef7
* optimize class initialization by calling RTTIRecord() only when required for a non-trivial initialization
|
7 gadi atpakaļ |
svenbarth
|
393d1c2256
* move RTTI related types from rtti.inc to rttidecl.inc
|
7 gadi atpakaļ |
svenbarth
|
bbf578b193
* move definition of USE_PACKED from rtti.inc to rttidecl.inc
|
7 gadi atpakaļ |
svenbarth
|
8b5461367b
* move TTypeKind from TypInfo unit to System unit as it's necessary for the future GetTypeKind() intrinsic
|
8 gadi atpakaļ |
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 gadi atpakaļ |
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 gadi atpakaļ |
maciej-izak
|
8a68a7aea8
* Declare field RecordOp for TRecordInfoInit only when FPC_HAS_MANAGEMENT_OPERATORS is defined, same for additional types for management operators.
|
8 gadi atpakaļ |
maciej-izak
|
d42428bc3c
* Initial support for management operators in RTL (rtl/inc/rtti.inc):
|
8 gadi atpakaļ |
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 gadi atpakaļ |
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 gadi atpakaļ |
svenbarth
|
121a857af8
* fix for Mantis #31118: applied patch by Maciej Izak to fix usage of wrong variable
|
8 gadi atpakaļ |
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 gadi atpakaļ |
svenbarth
|
12dba952f0
* integration of Part 2 patch of Mantis #30687 with a few adjustments:
|
8 gadi atpakaļ |
florian
|
c32e41b551
+ add missing semicolon in fpc_initialize_array declaration, patch by Maciej Izak
|
8 gadi atpakaļ |
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 gadi atpakaļ |
marco
|
4733e50de5
* system unit additions from mantis #27206. Exports some dynarray related RTTI functions.
|
10 gadi atpakaļ |
pierre
|
034c440d84
Fix big mistake in previous commit, packed must be disabled if FPC_REQUIRES_PROPER_AIGNMENT is set
|
11 gadi atpakaļ |
pierre
|
8193aff81d
Fix cycle starting for 2.6.4 release for powerpc64-linux
|
11 gadi atpakaļ |
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 gadi atpakaļ |