florian
|
31f78ea2b6
+ implementation of the vectorcall calling convention by J. Gareth Moreton
|
8 năm trước cách đây |
svenbarth
|
0bf71958f2
* ensure that the correct RTTI data is written for "array of const" parameters as well
|
8 năm trước cách đây |
svenbarth
|
50788e8b3b
* correctly encapsulate the RTTI data for sets to avoid alignment problems with the new SetSize field (fixes compilation on Sparc and basically every other target that requires proper alignment with 64-bit values dictating an 8-Byte alignment)
|
8 năm trước cách đây |
svenbarth
|
5c97248f85
+ also write the set's size to the RTTI as that simplifies handling in Invoke()
|
8 năm trước cách đây |
svenbarth
|
7b675b6769
* correctly write the type of open array parameters as the element def and not the array def
|
8 năm trước cách đây |
florian
|
126b834976
* ncgrtti has to use target pointer sizes, so changed SizeOf(PtrInt) into SizeOf(PInt), should fix #31964
|
8 năm trước cách đây |
florian
|
b1dff29cbf
* removed unused units
|
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.
|
9 năm trước cách đây |
Jonas Maebe
|
265c8e7bbc
+ support for specifying ms_abi_default, ms_abi_cdelc, sysv_abi_default, and
|
9 năm trước cách đây |
maciej-izak
|
1d301b6dbe
More consequent writing of Rtti. Part of code related to recorddef moved from recorddef_rtti to write_child_data_rtti(). When typeinfo is used in code init Rtti is a child of the full Rtti. Commit also contains correction for code commited for mantis #31249 (r35376) and mantis #31305 (r35377) for objects. Before was impossible to compile code with usage of typeinfo() function for object without managed fields ("Undefined symbol" error).
|
9 năm trước cách đây |
svenbarth
|
7e85e27865
* fix ncgrtti correctly (for once that warning was indeed useful :P )
|
9 năm trước cách đây |
florian
|
4b63da81aa
* initialize para to avoid warning
|
9 năm trước cách đây |
svenbarth
|
c1390b3442
* fix for Mantis #31249: applied (adjusted) patch provided by Maciej Izak
|
9 năm trước cách đây |
svenbarth
|
f517311227
* ensure that the indirect symbols for VMT, RTTI and IID reside in the same sections as the symbols they point to -> reduces the amount of sections for them by half
|
9 năm trước cách đây |
svenbarth
|
1d40e7e159
* correctly encapsulate the location records
|
9 năm trước cách đây |
svenbarth
|
26135d605f
+ implement interface RTTI inspired by the changes from Steve Hildebrandt, yet not exactly the same. Like his implementation this one isn't Delphi compatible either.
|
9 năm trước cách đây |
svenbarth
|
41dccb75b9
* for open array parameters the RTTI of the element def needs to be available/written; this is Delphi compatible
|
9 năm trước cách đây |
svenbarth
|
d044969d88
* applied adjusted patch from Mantis #31250 by Maciej Izak
|
9 năm trước cách đây |
svenbarth
|
5fa5ff1730
+ new method TRTTIWriter.methods_write_rtti() to ensure that the TypeInfo of parameters and result type of methods is written (can be restricted to certain visibilities and whether hidden parameters shall be checked as well)
|
9 năm trước cách đây |
svenbarth
|
22e23fea8c
+ new parameter allow_hidden for params_write_rtti() so that writing of the TypeInfo of hidden parameters can be enforced as well
|
9 năm trước cách đây |
svenbarth
|
cf18b7116e
* write_paralocs() takes a pcgpara instead of a tparavarsym as this is needed for the result location as well
|
9 năm trước cách đây |
svenbarth
|
f905303c4a
+ new TParamFlag pfResult if the result is passed as a parameter and thus needs to be set up as well
|
9 năm trước cách đây |
svenbarth
|
854a82b58b
* move write_param_flag() from local to class scope
|
9 năm trước cách đây |
svenbarth
|
5275c36393
+ extend TParamFlags by values for hidden parameters in general and especially the hidden high, self and vmt parameters (this is necessary so a manager approach for Invoke() can be used with as few knowledge about the involved calling conventions as possible)
|
9 năm trước cách đây |
svenbarth
|
6b641394d0
* fix for Mantis #31201: don't write any RTTI for undefined defs (and while we're at it abort if an error def is encountered)
|
9 năm trước cách đây |
svenbarth
|
417f1cd49d
+ initial implementation of the RTTI for parameter locations (not *yet* used by anything)
|
9 năm trước cách đây |
svenbarth
|
0ed00f64f5
* move writing of the calling convention into its own method
|
9 năm trước cách đây |
svenbarth
|
e3f10500b0
* move writing of the methodkind into its own function (and return the value as its a bit more complicated to calculate than merely checking proctypeoption)
|
9 năm trước cách đây |
florian
|
2e779239ad
* fix rtti for targets with a max. C record alignment > 8 bytes
|
9 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
|
9 năm trước cách đây |