Commit History

Author SHA1 Message Date
  svenbarth 41dccb75b9 * for open array parameters the RTTI of the element def needs to be available/written; this is Delphi compatible 8 years ago
  svenbarth d044969d88 * applied adjusted patch from Mantis #31250 by Maciej Izak 8 years ago
  svenbarth 5fa5ff1730 + new method TRTTIWriter.methods_write_rtti() to ensure that the TypeInfo of parameters and result type of methods is written (can be restricted to certain visibilities and whether hidden parameters shall be checked as well) 8 years ago
  svenbarth 22e23fea8c + new parameter allow_hidden for params_write_rtti() so that writing of the TypeInfo of hidden parameters can be enforced as well 8 years ago
  svenbarth cf18b7116e * write_paralocs() takes a pcgpara instead of a tparavarsym as this is needed for the result location as well 8 years ago
  svenbarth f905303c4a + new TParamFlag pfResult if the result is passed as a parameter and thus needs to be set up as well 8 years ago
  svenbarth 854a82b58b * move write_param_flag() from local to class scope 8 years ago
  svenbarth 5275c36393 + extend TParamFlags by values for hidden parameters in general and especially the hidden high, self and vmt parameters (this is necessary so a manager approach for Invoke() can be used with as few knowledge about the involved calling conventions as possible) 8 years ago
  svenbarth 6b641394d0 * fix for Mantis #31201: don't write any RTTI for undefined defs (and while we're at it abort if an error def is encountered) 8 years ago
  svenbarth 417f1cd49d + initial implementation of the RTTI for parameter locations (not *yet* used by anything) 8 years ago
  svenbarth 0ed00f64f5 * move writing of the calling convention into its own method 8 years ago
  svenbarth e3f10500b0 * move writing of the methodkind into its own function (and return the value as its a bit more complicated to calculate than merely checking proctypeoption) 8 years ago
  florian 2e779239ad * fix rtti for targets with a max. C record alignment > 8 bytes 8 years ago
  florian 0b82f71e8d * take care of the fact that there are 32 bit abis (e.g. ARMHF) which align qword on 8 byte boundaries, resolves issue #31132 8 years ago
  svenbarth 7023a6f95b * have the remaining 7 Boolean types also use tkBool as typekind instead of tkInteger 8 years ago
  svenbarth dbbb6dca32 * correctly treat Boolean64 as otUQword and QWordBool as otSQWord (the former having QWord range 0..1, the latter Low(Int64)..High(Int64)) 8 years ago
  svenbarth 26e7d005aa * use Low(LongInt) and Max(LongInt) as min/max values for the RTTI of the ByteBool, WordBool and LongBool types to be Delphi compatible; the range of the defs is not changed to avoid the application of range checks 8 years ago
  Jonas Maebe d8c4980b2e * don't reuse the same type with the typed const builder for 8 years ago
  Jonas Maebe 691c2d655e * put multiple statements of the else-part of case between begin..end 8 years ago
  Jonas Maebe fe6b662c37 * fixed range error 8 years ago
  Jonas Maebe bcb7fedb3c * fixed indentation 8 years ago
  svenbarth 86207c9b55 - remove no longer valid {otNone} comment 8 years ago
  svenbarth a9d14fe30b * extend TOrdType by entries for 64-bit values 8 years ago
  svenbarth 7089677a22 * change RecInitTable into a direct reference to avoid an unnecessary indirection as both the full and init RTTI of a record always reside inside the same unit 8 years ago
  svenbarth e580e22576 * extend ref_rtti() with the possibility to use a direct reference if really desired 8 years ago
  svenbarth 12dba952f0 * integration of Part 2 patch of Mantis #30687 with a few adjustments: 8 years ago
  Jonas Maebe 5efb32285a * fixed alignment for interface RTTI (patch by Alfred, mantis #30182) 8 years ago
  Jonas Maebe 4c9903455e - don't apply const_align() to alignments passed to high level typed 8 years ago
  nickysn 8672d25e9a * use tai_const.create_nil_dataptr instead of .create_pint(0) when writing the 8 years ago
  nickysn 4dc35b0996 * use sizeint when writing the element size and count for the array rtti 8 years ago