yury
|
e5c2d13671
* Do not set pi_needs_got in current_procinfo.flags at the node level, since the GOT usage can only be estimated there. Instead set the pi_needs_got flag at places where the GOT register is accessed during the code generation. This eliminates generation of the unneeded initialization of the GOT register and fixes linker errors when the _GLOBAL_OFFSET_TABLE_ symbol is referenced but no actual GOT references are present.
|
6 năm trước cách đây |
Jonas Maebe
|
50ab607676
+ customint torddef type to create arbitraty bit-width integers
|
6 năm trước cách đây |
yury
|
0a3c94bc72
* Moved inline methods to the beginning in order to allow them to be actually inlined in this unit.
|
6 năm trước cách đây |
yury
|
4357caaad8
* Removed unused local vars.
|
6 năm trước cách đây |
yury
|
c306f57ecb
* Reverted r39947. According to Sven, the $self parameters is not required to be first parameter in RTTI. Appropriate tests will be fixed.
|
6 năm trước cách đây |
Jonas Maebe
|
0b246f3dbd
* converted Boolean8 to an internal type, and mapped Boolean to the
|
6 năm trước cách đây |
yury
|
84b5129f1d
* Fixed writing of method's RTTI for aarch64 by explicitly writing the $self parameter first.
|
6 năm trước cách đây |
svenbarth
|
b9ec7e1e06
* generate RTTI for *all* parameters of a method or procedure variable
|
6 năm trước cách đây |
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
|
2e1327b6b2
* use pooled constant references for the parameter locations as more often than not they're equal between multiple methdos (e.g. the Self argument is always the same)
|
7 năm trước cách đây |
svenbarth
|
029ec93df6
* use pooled constant references for the names of VMT methods in the RTTI
|
7 năm trước cách đây |
svenbarth
|
228d3252cc
* use pooled constant references for the parameter names of VMT methods in the RTTI
|
7 năm trước cách đây |
svenbarth
|
3f96c0baed
* use reverse_longword() instead of reverse_byte(); fixes the management operators of records inside classes on big endian systems
|
7 năm trước cách đây |
svenbarth
|
ac0322c323
+ add a flags field to the record init RTTI which declares whether
|
7 năm trước cách đây |
florian
|
31f78ea2b6
+ implementation of the vectorcall calling convention by J. Gareth Moreton
|
7 năm trước cách đây |
svenbarth
|
0bf71958f2
* ensure that the correct RTTI data is written for "array of const" parameters as well
|
7 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)
|
7 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.
|
8 năm trước cách đây |
Jonas Maebe
|
265c8e7bbc
+ support for specifying ms_abi_default, ms_abi_cdelc, sysv_abi_default, and
|
8 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).
|
8 năm trước cách đây |
svenbarth
|
7e85e27865
* fix ncgrtti correctly (for once that warning was indeed useful :P )
|
8 năm trước cách đây |
florian
|
4b63da81aa
* initialize para to avoid warning
|
8 năm trước cách đây |
svenbarth
|
c1390b3442
* fix for Mantis #31249: applied (adjusted) patch provided by Maciej Izak
|
8 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
|
8 năm trước cách đây |
svenbarth
|
1d40e7e159
* correctly encapsulate the location records
|
8 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.
|
8 năm trước cách đây |