Commit History

Author SHA1 Message Date
  pierre 78d31eb3cd Add missing of pi_needs_got found by sparc compiler compiled with -dCHECK_PIC 13 years ago
  Jonas Maebe 4cae00f97a * never use a linear table for enum<->string translation when two enums have 13 years ago
  sergei a54e342060 + Reduce the amount of RTTI by not generating 'init' information if it will end up being the same as the 'full' one (which is the case of most simple types). The new behavior can be customized for every tdef by overriding needs_separate_initrtti method. 13 years ago
  Jonas Maebe 22dd93858d * don't try to write rtti for fields in Pascal records/classes/objects/... 13 years ago
  florian d35d1ed357 + initial support for pascal booleans with sizes 2, 4 and 8 14 years ago
  paul 937bf3cdaf compiler: write finished zero for enumeration rtti (this was broken since r14511 fixes bug #0019288) 14 years ago
  svenbarth 35b47e491c Rebase to revision 17306 14 years ago
  florian 3ce9ff93f1 + patch by Jeppe Johansen to support automatic interrupt table generation by using the interrupt directive with an offset. Not activated yet because it requires to change also the startup code of the different mcus. 14 years ago
  svenbarth b0b051ae83 Introduce a new type kind for helpers in the RTTI. This is Delphi incompatible, but it's cleaner than Delphi's "let's extend some magic class". This might not matter much though, because according to Google the RTTI for class helpers seems to be rarely used. 14 years ago
  svenbarth 96116a6c3a Several adjustments because virtual methods in helpers are just normal methods and a VMT isn't generated for them either. 14 years ago
  svenbarth 5218666328 * ncgrtti.pas: RTTI generation for helpers is handled like that for classes 14 years ago
  svenbarth 963a4d7b23 Commit of a completely restructured helper implementation. Instead of changing objectdefs with odt_classhelper to odt_class, they'll have the odt_helper type assigned to and this will be kept. This also implies that the parent of a helper is its true parent while the extended type is set to a field in tobjectdef (extendeddef). 14 years ago
  paul 89dc742de2 compiler: mark operator overloads as operators in rtti (although classes don't have operator overloads now) 14 years ago
  sergei 2ff5f7a000 * For object fullrtti, add a parent 'field' regardless of whether its type needs inittable. 14 years ago
  sergei 8cbef5627e Fixed rtti/finalization of objects that have ancestors and fields of managed types: 14 years ago
  sergei cd1f8e14f4 * TRTTIWriter improvements: 14 years ago
  sergei b50cf9a42a * TRTTIWriter.fields_write_rtti_data: refactoring. Since TAsmList allows random access, a separate loop iteration to count fields is redundant. Simply count the actually written fields, then insert result before field data. 14 years ago
  sergei b3aa9ac813 * Refactored TRTTIWriter by separating some commonly used code into procedures. Improves readability and reduces amount of typing; functionality stays unchanged. 14 years ago
  paul 56bf42de57 compiler: implement record methods and class methods: 14 years ago
  tom_at_work 19baf7d3e0 * changes to alignment for enumeration rtti record members: we need a Tconstptrint alignment before the MinValue/MaxValue members because the entire record needs that alignment due to some pointers inside 14 years ago
  tom_at_work f520989064 Fixed ordinal to string conversion for enumerations 14 years ago
  tom_at_work a380da6204 Fixed conversion from string to enum value for 64 bit platforms requiring proper alignment (e.g. ppc64/linux) 14 years ago
  joost 07bf44517c * Merged XPCom branch into trunk, added support for constref and changed 15 years ago
  mazen b127fc154a * Fixed spell error revealed by lintian. 15 years ago
  Jonas Maebe 13399280dc * don't write rtti for static fields so we don't try to initialise/finalise 15 years ago
  paul 24d8a7d833 compiler: start implementation of class constructors/destructors: parsing is ready but at the moment neither class constructors nor destructors are called - this is to be implemented 15 years ago
  paul 1b614b526a compiler: 15 years ago
  Jonas Maebe 025ec34e4d + "CExtended" type that is the same as "extended", but conforming to the 15 years ago
  pierre 9896f48317 * Fix for RTTI alignment from Paul 15 years ago
  paul c83fc67e32 compiler: write correct method kind for constructors,destructors and class methods 15 years ago