Commit History

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