Jonas Maebe
|
c0ff55e95a
* changed the abstract method wrapper generation from thlcgobj to synthetic
|
há 9 anos atrás |
svenbarth
|
7a5bac9cd3
Rework the interface table of VMTs to get rid of FPC_EMPTYINTF.
|
há 9 anos atrás |
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!
|
há 9 anos atrás |
svenbarth
|
9857a27ad8
Generate and use an indirect symbol for VMTs.
|
há 9 anos atrás |
svenbarth
|
557f74cdbd
(Note to self: always include the root of the working copy in the commit when dealing with merges -.-)
|
há 9 anos atrás |
Jonas Maebe
|
7b89072d88
* fixed external wrapper generation on llvm
|
há 10 anos atrás |
yury
|
b26fa07f1a
* Fixed notes "var is assigned but not used".
|
há 10 anos atrás |
Jonas Maebe
|
919bce9819
* also construct the high level code generator for high level targets; they
|
há 10 anos atrás |
Jonas Maebe
|
c7a418829b
* support for implementing interface method wrappers at the node tree
|
há 10 anos atrás |
Jonas Maebe
|
be2ec5be59
* write full/init rtti and VMTs separately instead of at the same time
|
há 10 anos atrás |
Jonas Maebe
|
b4e61b2469
* enable the llvm code generator for VMT generation
|
há 10 anos atrás |
Jonas Maebe
|
2cfc3ca4d1
* end the vmtdef aggregate so appropriate padding is inserted (if necessary)
|
há 10 anos atrás |
Jonas Maebe
|
6f4fe415e9
* support specifying the alignment of the start of an anonymous record
|
há 10 anos atrás |
Jonas Maebe
|
b55c7df996
* factored out internal type prefixes
|
há 10 anos atrás |
Jonas Maebe
|
508828958c
* changed getprocaddressprocvar() into a tprocvardef.getreusableprocaddr()
|
há 10 anos atrás |
Jonas Maebe
|
f40ea04540
* changed getarraydef() into a tarraydef.getreusable() class method
|
há 10 anos atrás |
Jonas Maebe
|
f402b0d7df
* changed getpointerdef() into a tpointerdef.getreusable() class method
|
há 10 anos atrás |
Jonas Maebe
|
3597e710b6
* fixed several VMT element types to correspond to the types used to
|
há 10 anos atrás |
Jonas Maebe
|
3f736f6114
* handle the loading of VMT entries at the node level, so it's done in a
|
há 10 anos atrás |
Jonas Maebe
|
bd8079f896
* cache and reuse procvardefs internally created to get the address of a
|
há 10 anos atrás |
Jonas Maebe
|
3be51e1455
* fixed endless recursion in tabstractrecorddef.contains_float_field() in
|
há 10 anos atrás |
nickysn
|
9c52c98b77
* use default_settings.packrecords, instead of 0 (since that's different for
|
há 10 anos atrás |
Jonas Maebe
|
69e7b06cef
* converted rest of VMT generation to high level typed const builder
|
há 10 anos atrás |
Jonas Maebe
|
25e6eaf07f
* store the to be used recordalignmin and maxcrecordalign settings inside
|
há 10 anos atrás |
Jonas Maebe
|
687bb15299
* renamed getdatalabel() to getglobaldatalabel
|
há 10 anos atrás |
Jonas Maebe
|
5e1bb8e408
+ tcalo_make_dead_strippable to indicate that a typed constant data block
|
há 10 anos atrás |
Jonas Maebe
|
e924dbed90
* moved the specification of the options for a ttai_typedconstbuilder from
|
há 10 anos atrás |
Jonas Maebe
|
427b05e97c
* converted TVMTWriter.intf_write_table() to the high level typed constant
|
há 11 anos atrás |
Jonas Maebe
|
8af5ef911b
* converted TVMTWriter.writeinterfaceids() to the typed constant builder
|
há 11 anos atrás |
Jonas Maebe
|
8fa4c69f1f
* converted generation of class and fields table to the typed constant builder
|
há 11 anos atrás |