florian
53d6f6bc55
* handle dyn. arrays and interfaces correctly in TypInfo.SetOrdProp
...
git-svn-id: trunk@30141 -
2015-03-08 09:40:36 +00:00
nickysn
070955bcd0
* fixed 'data element too large' error in i8086 far data memory models
...
git-svn-id: trunk@27390 -
2014-03-30 18:17:37 +00:00
nickysn
fec4c6a6e2
* various rtl fixes that allow objpas.integer to be 16-bit on 16-bit targets
...
(still not sure if it's a good idea, but trying, at least, is harmless - we
can always rollback to integer being equal to longint)
git-svn-id: trunk@26966 -
2014-03-06 01:10:18 +00:00
nickysn
e8005f9485
* fixed compilation of unit typinfo in the i8086 medium memory model
...
git-svn-id: trunk@25119 -
2013-07-16 15:13:11 +00:00
nickysn
79db53b049
* TPropInfo.GetProc, .SetProc and .StoredProc changed to CodePointer for compatibility with the i8086 medium memory model
...
git-svn-id: trunk@25117 -
2013-07-16 14:50:16 +00:00
paul
fa0d5bb66e
rtl: add tkBool into TTypeData case (issue #0024538 )
...
git-svn-id: trunk@24794 -
2013-06-03 00:59:23 +00:00
nickysn
4bc99b1315
* use a PtrInt cast in typinfo.SetObjectProp
...
git-svn-id: trunk@24612 -
2013-05-25 18:47:44 +00:00
nickysn
fe48700483
* another i8086 compilation fix for typinfo
...
git-svn-id: trunk@24602 -
2013-05-25 15:51:36 +00:00
nickysn
4b220d7261
* fixed 'data element too large' error when compiling typinfo on i8086
...
git-svn-id: trunk@24600 -
2013-05-25 15:43:26 +00:00
sergei
23cb216435
* RTTI fix for alignment-sensitive targets:
...
* typinfo.pp: the newly introduced records were added into {$PACKRECORDS 1} area of effect, which effectively made all records packed, entirely defeating FPC_REQUIRES_PROPER_ALIGNMENT purpose.
* added alignment between TProcedureParam records, adjusted TProcedureSignature.GetParam() appropriately.
* ncgrtti.pas: added two missing alignments and removed a redundant one.
* tests/test/trtti9.pp: modified to use TProcedureSignature.GetParam() and endian-independent check for parameter flags.
git-svn-id: trunk@24562 -
2013-05-23 16:03:42 +00:00
paul
8b98a38b56
rtl: add a helper method to get TProcedureSignature parameter by index
...
git-svn-id: trunk@24480 -
2013-05-10 12:41:37 +00:00
paul
cd8690c197
rtl: typo
...
git-svn-id: trunk@24469 -
2013-05-08 03:10:03 +00:00
paul
bc973e538d
compiler: write extended RTTI for tkProcVar (tkProcedure in Delphi)
...
rtl: add appropriate types for tkProcVar RTTI (based on Delphi help)
+ test
git-svn-id: trunk@24468 -
2013-05-08 02:52:13 +00:00
paul
fe04dedbab
compiler: change RTTI size of record field offset from fixed 32bit to platform dependent integer (sizeint) since it is stored this way in the compiler. This is also Delphi compatible, rtl: adopt rtl appropriately
...
git-svn-id: trunk@24460 -
2013-05-07 11:25:41 +00:00
paul
dce960c97b
compiler: write Delphi compatible tkArray RTTI:
...
- TotalSize of all array dimensions instead of first dimension size
- Element type of last array dimension
- dimension information
rtl:
- adopt array initialization/finalization/copy for the new tkArray RTTI
- add Delphi compatible TArrayTypeData member for typinfo.TTypeData structure
tests:
- add a test which checks RTTI information for 2 dimension array
git-svn-id: trunk@24458 -
2013-05-07 09:12:18 +00:00
paul
da35b3c601
compiler, rtl: write CodePage for AnsiString RTTI (Delphi compatible), change TTypeData appropriately + test
...
git-svn-id: trunk@24444 -
2013-05-05 05:05:08 +00:00
paul
a020440d48
rtl: minor formatting
...
git-svn-id: trunk@24443 -
2013-05-05 04:30:06 +00:00
paul
1c86a9482b
rtl:
...
- add tkRecord to TTypeData (field and type names are taken from Delphi help)
- add tkProcedure as alias to tkProcVar
git-svn-id: trunk@24442 -
2013-05-05 04:09:31 +00:00
paul
d18f273f67
compier, rtl: revert 24424 since it fails on some platforms
...
git-svn-id: trunk@24425 -
2013-05-04 16:16:30 +00:00
paul
e23534eec4
compiler, rtl: some rtti related changes:
...
- write pint instead of 32 bit for record field offset (compiler uses aintsize = pint in TRecordDef), use PtrInt in RTL for record reading
- add tkRecord to TTypeData (field and type names are taken from Delphi help)
- add tkProcedure as alias to tkProcVar
git-svn-id: trunk@24424 -
2013-05-04 16:05:04 +00:00
paul
802b7db26e
rtl: fix TTypeData comments
...
git-svn-id: trunk@24423 -
2013-05-04 14:38:41 +00:00
paul
65877e7111
rtl: fix TTypeData declaration - FPC does not generate PPTypeInfo as Delphi do but PTypeInfo instead
...
git-svn-id: trunk@24422 -
2013-05-04 13:17:32 +00:00
paul
d90445e5ee
compiler, rtl, tests: write Delphi compatible (more or less) type information for Class Reference and Pointer types (mantis #0024367 )
...
git-svn-id: trunk@24421 -
2013-05-04 12:47:05 +00:00
florian
4c472a1569
* due to different result handling of integers and interfaces, GetInterfaceProp cannot use GetOrdProp, resolves #21684
...
git-svn-id: trunk@20857 -
2012-04-12 21:50:03 +00:00
michael
7069db2194
* Fixed setting of RAW interfaces
...
git-svn-id: trunk@17391 -
2011-05-02 19:16:53 +00:00
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.
...
* compiler/ncgrtti.pas:
- objectdef_rtti_class_full:
- don't write the VMT data for helpers
- write the typeinfo of the extended type (something that Delphi does definitely not support :P )
- objectdef_rtti: write the new type kind for helpers instead that of classes
* compiler/symconst.pas: introduce new type kind constant "tkHelper" before "tkFile" (what is that used for btw?)
* rtl/inc/system.inc: add the constant here as well (why wasn't tkUChar added here?)
* objpas/typinfo.pp:
- add tkHelper to the TTypeKind enum (but here tkUChar was added?!)
- extend the TTypeData record with the data of helpers
git-svn-id: branches/svenbarth/classhelpers@17240 -
2011-04-03 14:13:00 +00:00
paul
e69de6110b
rtl: add mkOperatorOverload to TMethodKind enum
...
git-svn-id: trunk@16694 -
2011-01-03 16:10:36 +00:00
Jonas Maebe
700aa3cf11
* GetEnumNameCount also counted the unit name after r14511 (mantis #16402 )
...
git-svn-id: trunk@15225 -
2010-05-04 17:59:58 +00:00
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
...
git-svn-id: trunk@15109 -
2010-04-03 09:14:12 +00:00
paul
d3820bfa58
rtl: add TVmtFieldTable, TVmtFieldEntry to typinfo unit since delphi has that declarations too
...
git-svn-id: trunk@14754 -
2010-01-20 15:17:06 +00:00
florian
4ddebcbf1c
* handle subrange enumeration types in GetEnumValue correctly, resolves #15467
...
git-svn-id: trunk@14544 -
2010-01-05 16:10:13 +00:00
paul
c83fc67e32
compiler: write correct method kind for constructors,destructors and class methods
...
git-svn-id: trunk@14512 -
2010-01-01 20:22:02 +00:00
paul
db0f23e643
compiler: write not dummy unit name for enumeration and dynamic array rtti
...
git-svn-id: trunk@14511 -
2010-01-01 19:32:53 +00:00
paul
17bd267141
compiler, rtl: write calling conventions for tkMethod members (issue #0014573 )
...
git-svn-id: trunk@14508 -
2010-01-01 14:36:33 +00:00
florian
8cecea9b53
* GetEnumName handles subrange types correctly, resolves #15377
...
git-svn-id: trunk@14461 -
2009-12-22 11:36:47 +00:00
Jonas Maebe
c2c68ddb8f
- removed FPC_NEW_BIGENDIAN_SETS define and if(n)defs
...
* left old cpu-specific set helper code under ifdef FPC_OLD_BIGENDIAN_SETS
in case someone wants to write new assembler set helpers (although most
of them should be optimally generated by the compiler already if
http://wiki.freepascal.org/FPC_HowToDo#Bit.28field.29_getting.2Fsetting_primitives
are optimally implemented)
git-svn-id: trunk@13582 -
2009-08-23 08:16:40 +00:00
Jonas Maebe
77feb9d45c
* fixed setstrprop() for shortstring properties (based on hint by Zawullon,
...
mantis #14040 )
git-svn-id: trunk@13323 -
2009-06-26 11:34:04 +00:00
Jonas Maebe
f2ce99029b
* fixed sets in rtti for big endian systems
...
* changed set sizes in rtti to 1 byte for Delphi compatibility
* fixed tests/webtbs/tw12038 for the new set sizes
* documented at http://wiki.freepascal.org/User_Changes_Trunk#Sets_in_RTTI_.28run-time_type_information.29
git-svn-id: trunk@12894 -
2009-03-15 12:06:30 +00:00
ivost
8fe3b40070
* added helper function "FindPropInfo" with additional TypeKind filter parameter
...
git-svn-id: trunk@11856 -
2008-10-02 21:56:54 +00:00
florian
50012c2357
* fix by Inoussa OUEDRAOGO to improve UnicodeString property handling, resolves #12224
...
git-svn-id: trunk@11832 -
2008-09-27 13:25:11 +00:00
ivost
fc6ae58b9b
* added GetPropList function for TClass parameter
...
git-svn-id: trunk@11811 -
2008-09-21 00:56:06 +00:00
florian
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/unicodestring
........
r11665 | florian | 2008-08-30 13:30:17 +0200 (Sat, 30 Aug 2008) | 1 line
* continued to work on unicodestring type support
........
r11666 | florian | 2008-08-30 19:02:26 +0200 (Sat, 30 Aug 2008) | 2 lines
* expectloc for wide/ansi/unicode strings is LOC_CONSTANT or LOC_REGISTER now
........
r11667 | florian | 2008-08-30 20:42:37 +0200 (Sat, 30 Aug 2008) | 1 line
* more unicodestring stuff fixed, test results on win32 are already good
........
r11670 | florian | 2008-08-30 23:21:48 +0200 (Sat, 30 Aug 2008) | 2 lines
* first fixes for unix bootstrapping
........
r11683 | ivost | 2008-09-01 12:46:39 +0200 (Mon, 01 Sep 2008) | 2 lines
* fixed 64bit bug in iconvenc.pas
........
r11689 | florian | 2008-09-01 23:12:34 +0200 (Mon, 01 Sep 2008) | 1 line
* fixed several errors when building on unix
........
r11694 | florian | 2008-09-03 20:32:43 +0200 (Wed, 03 Sep 2008) | 1 line
* fixed unix compilation
........
r11695 | florian | 2008-09-03 21:01:04 +0200 (Wed, 03 Sep 2008) | 1 line
* bootstrapping fix
........
r11696 | florian | 2008-09-03 21:07:18 +0200 (Wed, 03 Sep 2008) | 1 line
* more bootstrapping fixed
........
r11698 | florian | 2008-09-03 22:47:54 +0200 (Wed, 03 Sep 2008) | 1 line
+ two missing compiler procs exported
........
r11701 | florian | 2008-09-04 16:42:34 +0200 (Thu, 04 Sep 2008) | 2 lines
+ lazarus project for the linux rtl
........
r11702 | florian | 2008-09-04 16:43:27 +0200 (Thu, 04 Sep 2008) | 2 lines
+ set unicode string procedures
........
r11707 | florian | 2008-09-04 23:23:02 +0200 (Thu, 04 Sep 2008) | 2 lines
* fixed several type casting stuff
........
r11712 | florian | 2008-09-05 22:46:03 +0200 (Fri, 05 Sep 2008) | 1 line
* fixed unicodestring compilation on windows after recent unix changes
........
r11713 | florian | 2008-09-05 23:35:12 +0200 (Fri, 05 Sep 2008) | 1 line
+ UnicodeString support for Variants
........
r11715 | florian | 2008-09-06 20:59:54 +0200 (Sat, 06 Sep 2008) | 1 line
* patch by Martin Schreiber for UnicodeString streaming
........
r11716 | florian | 2008-09-06 22:22:55 +0200 (Sat, 06 Sep 2008) | 2 lines
* fixed test
........
r11717 | florian | 2008-09-07 10:25:51 +0200 (Sun, 07 Sep 2008) | 1 line
* fixed typo when converting tunicodestring to punicodechar
........
r11718 | florian | 2008-09-07 11:29:52 +0200 (Sun, 07 Sep 2008) | 3 lines
* fixed writing of UnicodeString properties
* moved some helper routines to unicode headers
........
r11734 | florian | 2008-09-09 22:38:55 +0200 (Tue, 09 Sep 2008) | 1 line
* fixed bootstrapping
........
r11735 | florian | 2008-09-10 11:25:28 +0200 (Wed, 10 Sep 2008) | 2 lines
* first fixes for persisten unicodestrings
........
r11736 | florian | 2008-09-10 14:31:00 +0200 (Wed, 10 Sep 2008) | 3 lines
Initialized merge tracking via "svnmerge" with revisions "1-11663" from
http://svn.freepascal.org/svn/fpc/trunk
........
r11737 | florian | 2008-09-10 21:06:57 +0200 (Wed, 10 Sep 2008) | 3 lines
* fixed unicodestring <-> variant handling
* fixed unicodestring property reading
........
git-svn-id: trunk@11739 -
2008-09-10 20:14:31 +00:00
florian
67e811db60
* handle booleans correctly in Typinfo.GetEnum*, resolves #11372
...
git-svn-id: trunk@11284 -
2008-06-26 20:01:31 +00:00
michael
aaa394cb93
* GetPropList returns nil if no items found. Memory Leak stopped in case of exception
...
git-svn-id: trunk@10580 -
2008-03-29 09:32:13 +00:00
micha
83b7f81f81
+ add no-fpu support to compiler/rtl for powerpc-linux (-Cfnone)
...
git-svn-id: trunk@10422 -
2008-03-02 12:59:02 +00:00
florian
c46b44b797
resolves #10509
...
* fixed SetInterfaceProp
+ PInterface
* extended trtti1
git-svn-id: trunk@10334 -
2008-02-15 20:54:10 +00:00
michael
067d1ab582
* Added EPropertyConvertError class
...
git-svn-id: trunk@9598 -
2007-12-30 22:03:56 +00:00
michael
a375df54f2
Implemented get/setinterfaceproperty. Needs checking
...
git-svn-id: trunk@9597 -
2007-12-30 22:01:53 +00:00
yury
d306e25dc8
* Fixed warnings.
...
git-svn-id: trunk@9514 -
2007-12-22 12:27:03 +00:00
yury
8b12a7f2c2
* Fixed warnings.
...
git-svn-id: trunk@9506 -
2007-12-21 23:10:33 +00:00