svenbarth
|
ced3885dbb
* generate construction function for the attributes used in a unit using a more straight forward approach
|
6 年之前 |
svenbarth
|
71fa4d1fe2
* the RTTI of an attribute not only consists of the creation function, but also of the attribute's type, a pointer to the constructor and a data blob containing the constant parameters
|
6 年之前 |
svenbarth
|
3ad24c9db8
* as attributes can be part of any type they are best suited in a common part of TTypeData
|
6 年之前 |
svenbarth
|
e296b26e9e
- remove unit info and related code again as that will be handled similar, but differently with dynamic packages
|
6 年之前 |
svenbarth
|
ee940c8270
* always write a class' reference to the attribute table, even if the unit does not have attributes
|
6 年之前 |
svenbarth
|
d137e06ade
* instead of embedding the attributes inside the class' and property's type data only store a reference to a table of attributes
|
6 年之前 |
svenbarth
|
39bab2dbcc
* rename trtti_attributesdef to trtti_attributes_list
|
6 年之前 |
svenbarth
|
b2932393df
Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 1/3]
|
6 年之前 |
Jonas Maebe
|
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
|
6 年之前 |
svenbarth
|
f7817d25ff
* parameter type needs to be Nil for formal parameters (Delphi compatible)
|
6 年之前 |
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 年之前 |
Jonas Maebe
|
50ab607676
+ customint torddef type to create arbitraty bit-width integers
|
6 年之前 |
yury
|
0a3c94bc72
* Moved inline methods to the beginning in order to allow them to be actually inlined in this unit.
|
6 年之前 |
yury
|
4357caaad8
* Removed unused local vars.
|
6 年之前 |
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 年之前 |
Jonas Maebe
|
0b246f3dbd
* converted Boolean8 to an internal type, and mapped Boolean to the
|
6 年之前 |
yury
|
84b5129f1d
* Fixed writing of method's RTTI for aarch64 by explicitly writing the $self parameter first.
|
6 年之前 |
svenbarth
|
b9ec7e1e06
* generate RTTI for *all* parameters of a method or procedure variable
|
6 年之前 |
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 年之前 |
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 年之前 |
svenbarth
|
029ec93df6
* use pooled constant references for the names of VMT methods in the RTTI
|
7 年之前 |
svenbarth
|
228d3252cc
* use pooled constant references for the parameter names of VMT methods in the RTTI
|
7 年之前 |
svenbarth
|
3f96c0baed
* use reverse_longword() instead of reverse_byte(); fixes the management operators of records inside classes on big endian systems
|
7 年之前 |
svenbarth
|
ac0322c323
+ add a flags field to the record init RTTI which declares whether
|
7 年之前 |
florian
|
31f78ea2b6
+ implementation of the vectorcall calling convention by J. Gareth Moreton
|
7 年之前 |
svenbarth
|
0bf71958f2
* ensure that the correct RTTI data is written for "array of const" parameters as well
|
7 年之前 |
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 年之前 |
svenbarth
|
5c97248f85
+ also write the set's size to the RTTI as that simplifies handling in Invoke()
|
8 年之前 |
svenbarth
|
7b675b6769
* correctly write the type of open array parameters as the element def and not the array def
|
8 年之前 |
florian
|
126b834976
* ncgrtti has to use target pointer sizes, so changed SizeOf(PtrInt) into SizeOf(PInt), should fix #31964
|
8 年之前 |