Commit History

Author SHA1 Message Date
  svenbarth 5c97248f85 + also write the set's size to the RTTI as that simplifies handling in Invoke() 8 years ago
  svenbarth 8b5461367b * move TTypeKind from TypInfo unit to System unit as it's necessary for the future GetTypeKind() intrinsic 8 years ago
  michael c788256fc9 * Added AddEnumElementAliases/TypInfo.RemoveEnumElementAliases (bug ID 30961) 8 years ago
  Károly Balogh ea635bfda5 typinfo: push/pop doesn't save packrecords. also, always use AlignTypeData on m68k, which might have less than pointer sized (word, 2 byte) alignments in the typeinfo, because on most systems C compilers also use 2 byte alignments, so we need that for compatibility 8 years ago
  michael ac207e867b * Fix bug ID #30952 8 years ago
  maciej-izak 3900ccf260 * Rename RecordOp to ManagementOp (more relevant name) 8 years ago
  maciej-izak af8e0efe57 * Rtti info about Management Operators (MO) in init table for records. Note: commit contains minimal changes for RTL (for proper "make") no functional changes. More RTL changes for fully functionally MO in next commits. 8 years ago
  svenbarth 870bffc70d * provide access to the method table for raw interfaces (it is written even though $M is not respected by such interfaces currently) 8 years ago
  svenbarth fd1047c715 * use the correct alignment for the field following the unit name of an interface (raw or not doesn't matter) 8 years ago
  svenbarth 060cb62f2a * correctly handle alignment for TParameterLocations 8 years ago
  svenbarth f1a5fbc0df * rename TIntfMethodEntry.ReturnLoc to ResultLocs for consistency with both ResultType and TVmtMethodParam.ParaLocs 8 years ago
  svenbarth 26135d605f + implement interface RTTI inspired by the changes from Steve Hildebrandt, yet not exactly the same. Like his implementation this one isn't Delphi compatible either. 8 years ago
  svenbarth 03715bd9a8 + add data records TInterfaceData for COM and TInterfaceRawData for raw interfaces that allow for easier access to data that's only accessible by using pointers (and keeping track of alignment) without further polluting TTypeData 8 years ago
  svenbarth c6233697be + add utility properties to TPropData to access a specific TPropInfo or the end of the known data of all properties 8 years ago
  svenbarth bf2891938f + add utility properties to TPropInfo to easily access the next TPropInfo in a list of prop infos (TPropInfo.Next) or the direct, unpadded end of the known information (TPropInfo.Tail) 8 years ago
  svenbarth 3b1ae57844 * allow for AlignTypeData() to be inlined 8 years ago
  svenbarth 8e510da317 * adjust AlignTypeData to take a Pointer as argument as it also needs to be used for e.g. subrecords inside TTypeData (e.g. the property table of interfaces) 8 years ago
  svenbarth e827c28722 + not only add pfResult to the compiler, but also indeed to TParamFlag 8 years ago
  svenbarth ecb878a7a7 * move PParameterLocation before TParameterLocation for consistency with all other pointer declarations in the unit 8 years ago
  svenbarth fe28403330 + two more pointer types (PPropData for TPropData and PParameterLocations for TParameterLocations) 8 years ago
  svenbarth 990b0e1657 * fix TParameterLocations.GetLocation() 8 years ago
  svenbarth 0dbc123557 * ensure that TRegisterType and TSubRegister have a size of 1 by moving them at the correct location 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 bd8a7be17e * better implementation of TProcedureParam.GetFlags that correctly handles a TParamFlags with a size > 1 even on big endian 8 years ago
  svenbarth 417f1cd49d + initial implementation of the RTTI for parameter locations (not *yet* used by anything) 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 4717d78ac3 * as restructuring TTypeData to correctly layout tkBool for 64-bit Booleans is basically impossible at least add a comment for tkBool to the tkInt64 and tkQWord branches 8 years ago
  svenbarth 73ed1a9bf1 * fix for Mantis #31140: applied patch by Maciej Izak; this way it's clear what purpose ManagedFldCount has in FPC compared to Delphi 8 years ago
  svenbarth 2acf542737 * extend TParamFlag by pfConstRef which is set for constref parameters 8 years ago
  svenbarth 1553aa5639 * declare the first field of TProcedureParam as TParamFlags to avoid potential problems if more than 8 entries should be used (especially if some day the hidden Self and High parameters should be written) 8 years ago