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
peter
6ed3d91989
* CompareText for shortstrings added
...
* optimize CompareText
* use CompareText for case-insenstive compares in the RTL
patches from Sergei Gorelkin
git-svn-id: trunk@9384 -
2007-12-02 18:36:20 +00:00
florian
4b172f5973
* made rtti for dyn. arrays more delphi compatible, resolves #9464
...
git-svn-id: trunk@8853 -
2007-10-19 20:27:45 +00:00
Jonas Maebe
a0b57eddb5
* new internal set format for big endian systems. Advantages:
...
* varsets ({$packset x}) are now supported on big endian targets
* gdb now displays sets properly on big endian systems
* cleanup of generic set code (in, include/exclude, helpers), all
based on "bitpacked array[] of 0..1" now
* there are no helpers available yet to convert sets from the old to
the new format, because the set format will change again slightly
in the near future (so that e.g. a set of 24..31 will be stored in
1 byte), and creating two classes of set conversion helpers would
confuse things (i.e., it's not recommended to use trunk currently for
programs which load sets stored to disk by big endian programs compiled
by previous FPC versions)
* cross-endian compiling has been tested and still works, but one case
is not supported: compiling a compiler for a different endianess
using a starting compiler from before the current revision (so first
cycle natively, and then use the newly created compiler to create a
cross-compiler)
git-svn-id: trunk@7395 -
2007-05-19 17:15:15 +00:00
florian
c29455b111
* handle rtti for sets with a size of 1 and 2 properly, resolves #8660
...
git-svn-id: trunk@7125 -
2007-04-17 20:34:58 +00:00
Jonas Maebe
bdc378e250
* fixed 64 bit compilation
...
git-svn-id: trunk@6816 -
2007-03-13 08:35:08 +00:00
florian
418222bc32
* handle interfaces et al. correctly in Set/GetOrdProp, resolves #8510
...
git-svn-id: trunk@6804 -
2007-03-12 19:38:22 +00:00
Vincent Snijders
d87dc4e3f8
* always pass property value by value to the property setter of a method, the optimization (to prevent copying) to pass just the reference doesn't work on arm, for example (bug 8273)
...
git-svn-id: trunk@6370 -
2007-02-07 22:06:15 +00:00
Jonas Maebe
7b9bccf339
* fixed error due to {$t+} change
...
git-svn-id: trunk@4805 -
2006-10-05 15:05:36 +00:00
micha
d704af7216
fix compilation for {$T+} linux/win
...
git-svn-id: trunk@4794 -
2006-10-04 20:43:55 +00:00
peter
3bf8ff56ba
* fix calling of stored function with index
...
git-svn-id: trunk@4743 -
2006-09-28 05:54:51 +00:00
michael
7e3b7caf31
+ Additional fixes in setfloatprop needed
...
git-svn-id: trunk@4728 -
2006-09-25 21:29:40 +00:00
michael
8d6cc357c0
* Fixed bug #7445
...
git-svn-id: trunk@4727 -
2006-09-25 21:20:47 +00:00
peter
16f121a8bc
* reuse generic align()
...
git-svn-id: trunk@4382 -
2006-08-07 07:03:25 +00:00
michael
736b9ec000
+ Patch from Graeme Geldenhuys to add delphi compatibility function
...
git-svn-id: trunk@2358 -
2006-01-28 18:07:23 +00:00
peter
68e56b9fc7
* write only unique property names in rtti
...
git-svn-id: trunk@2007 -
2005-12-20 14:44:48 +00:00
peter
6238b1a917
* use NameIndex in GetPropInfos
...
git-svn-id: trunk@2004 -
2005-12-20 10:35:08 +00:00
florian
9749238cfe
* OrdType isn't valid for Int64 and QWord
...
git-svn-id: trunk@1644 -
2005-11-04 21:22:00 +00:00
tom_at_work
282f33100f
* bugfix of webbug 4404
...
git-svn-id: trunk@1304 -
2005-10-05 21:56:49 +00:00
peter
22a20e15e4
* aligntoptr needs to use unsigned calculations, patch by Thomas
...
git-svn-id: trunk@1148 -
2005-09-20 13:53:54 +00:00
florian
b1b0ffc1ec
* fixed more 64 bit issues (by Vincents Snijders)
...
git-svn-id: trunk@1092 -
2005-09-16 18:40:17 +00:00
florian
451a7c3366
+ GetEnumNameCount by Danny Milosavljevic
...
git-svn-id: trunk@783 -
2005-08-03 18:54:18 +00:00
michael
64f1948f3e
+ Added overloaded stringtoset which starts from typinfo, not propinfo
...
git-svn-id: trunk@492 -
2005-06-25 17:26:36 +00:00
michael
2ec3e6db01
+ Added overloaded settostring which starts from typinfo, not propinfo
...
git-svn-id: trunk@491 -
2005-06-25 17:22:21 +00:00
florian
90cdc1b6fe
* fixed interface rtti, fixes bug #4089
...
git-svn-id: trunk@422 -
2005-06-15 21:27:51 +00:00