nickysn
|
7fceb8aa1f
* use .Create_sizeuint and sizeuinttype when writing tinterfacetable.EntryCount
|
9 gadi atpakaļ |
Jonas Maebe
|
4c9903455e
- don't apply const_align() to alignments passed to high level typed
|
9 gadi atpakaļ |
nickysn
|
5e7ba4a893
* the type of FieldOffset in the TFieldInfo rtti structure changed to SizeUInt,
|
9 gadi atpakaļ |
nickysn
|
f62be8f6e6
* use sizesinttype instead of ptrsinttype to refer to vInstanceSize and
|
9 gadi atpakaļ |
yury
|
e3d9dbbeef
* Removed unused vars.
|
9 gadi atpakaļ |
svenbarth
|
37c32f4b61
* generate indirect symbols for interface IID and IIDSTR (fixes cycling; I wonder why that worked on Windows without problems :/ )
|
9 gadi atpakaļ |
svenbarth
|
fb6546972b
* IID and IIDStr references of the VMT's interface table need to be indirect
|
9 gadi atpakaļ |
svenbarth
|
77de5dd968
* reference assembler symbol of FPC_EMPTYMETHOD using AB_EXTERNAL and not AB_GLOBAL
|
9 gadi atpakaļ |
svenbarth
|
2841cd9a9e
* export IID and IIDSTR symbols of interfaces
|
9 gadi atpakaļ |
svenbarth
|
971d05c898
* also import procdefs that are called through the VMT
|
9 gadi atpakaļ |
svenbarth
|
f69b365b77
* declare various symbols as external assembler symbols: RTTI references, parent VMT, FPC_EMPTYMETHOD (all three only if it's used from a different unit), threadvar lists and symbols declared as "external"
|
9 gadi atpakaļ |
svenbarth
|
bb72c1c4df
* declare various assembler symbols (VMT, RTTI, threadvars) as public assembler symbols
|
9 gadi atpakaļ |
svenbarth
|
685f820622
* switch class'/object's parent reference in the VMT to an indirect reference
|
9 gadi atpakaļ |
svenbarth
|
dc21bc842a
* also generate an indirect symbol for the VMT
|
9 gadi atpakaļ |
Jonas Maebe
|
a0efde8167
* automatically generate necessary indirect symbols when a new assembler
|
9 gadi atpakaļ |
Jonas Maebe
|
1cb8c0d00c
* specify the def of assembler level symbols defined via
|
9 gadi atpakaļ |
Jonas Maebe
|
c0ff55e95a
* changed the abstract method wrapper generation from thlcgobj to synthetic
|
9 gadi atpakaļ |
svenbarth
|
7a5bac9cd3
Rework the interface table of VMTs to get rid of FPC_EMPTYINTF.
|
9 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ļ |
svenbarth
|
9857a27ad8
Generate and use an indirect symbol for VMTs.
|
9 gadi atpakaļ |
svenbarth
|
557f74cdbd
(Note to self: always include the root of the working copy in the commit when dealing with merges -.-)
|
9 gadi atpakaļ |
Jonas Maebe
|
7b89072d88
* fixed external wrapper generation on llvm
|
10 gadi atpakaļ |
yury
|
b26fa07f1a
* Fixed notes "var is assigned but not used".
|
10 gadi atpakaļ |
Jonas Maebe
|
919bce9819
* also construct the high level code generator for high level targets; they
|
10 gadi atpakaļ |
Jonas Maebe
|
c7a418829b
* support for implementing interface method wrappers at the node tree
|
10 gadi atpakaļ |
Jonas Maebe
|
be2ec5be59
* write full/init rtti and VMTs separately instead of at the same time
|
10 gadi atpakaļ |
Jonas Maebe
|
b4e61b2469
* enable the llvm code generator for VMT generation
|
10 gadi atpakaļ |
Jonas Maebe
|
2cfc3ca4d1
* end the vmtdef aggregate so appropriate padding is inserted (if necessary)
|
10 gadi atpakaļ |
Jonas Maebe
|
6f4fe415e9
* support specifying the alignment of the start of an anonymous record
|
10 gadi atpakaļ |
Jonas Maebe
|
b55c7df996
* factored out internal type prefixes
|
10 gadi atpakaļ |