Commit Graph

67 Commits

Author SHA1 Message Date
sergei
49700e675c * Changed code generation for variant assignments to typecast arguments to TVarData instead of using pointers. Fixes one (probably the ugliest one) case of non-disposed temp variables:
When arguments are temps, they are supposed to be released by tcgcallnode.release_para_temps. However, taking address with taddrnode effectively changes original location of temp to some LOC_REGISTER, tcgcallnode.release_para_temps no longer sees the original location and therefore does not free such temps.

git-svn-id: trunk@19959 -
2012-01-03 19:31:58 +00:00
sergei
f4023ef49e - Removed outdated VER2_0 defines
git-svn-id: trunk@19513 -
2011-10-19 11:39:59 +00:00
sergei
6e23565edf + Initialize/finalize variants using dedicated helpers, produces both smaller (no RTTI loading necessary) and faster (direct path taken) code.
git-svn-id: trunk@19442 -
2011-10-09 20:34:58 +00:00
florian
e362e85039 * fixed last commit: UTF8Encode -> UTF8Decode
git-svn-id: trunk@13452 -
2009-07-26 13:09:31 +00:00
florian
d38340c753 + utf-8 <-> variant type casts, resolves #11371
* ucs-4 -> variant type cast (variant -> ucs-4 is not possible due to overloading contraints of fpc and how ucs-4 is implemented)
* some newlines fixed

git-svn-id: trunk@13451 -
2009-07-26 12:58:49 +00:00
Jonas Maebe
95431c57f5 * fixed variantarrays for 64 bit systems after the changes in 2.2.0 to
turn variantarray indices into longints
  * extended tw9161 to also test storing and retrieving dynamic arrays
    in/from variant arrays

git-svn-id: trunk@12713 -
2009-02-08 00:24:03 +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
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
yury
5e3462b6fc * Fixed warnings and notes.
git-svn-id: trunk@9508 -
2007-12-21 23:28:36 +00:00
florian
dc2a8787a1 + VarArrayPut and VarArrayGet from Igor, resolves #9161
git-svn-id: trunk@8117 -
2007-07-21 18:49:10 +00:00
Jonas Maebe
5bf9c58e14 * fixed real:=variant for non-x86
git-svn-id: trunk@6847 -
2007-03-14 17:04:15 +00:00
marco
0d070eef7f * Patch from Thorsten for bug in lower than equal( only did lower than)
git-svn-id: trunk@6423 -
2007-02-11 14:38:29 +00:00
florian
2167655902 * patch from Thorsten Engler submitted in #8235
git-svn-id: trunk@6272 -
2007-01-30 19:53:42 +00:00
florian
28d59bbf6f * pos(...,...) overloads with variants, see tb0520.pp for the reason
git-svn-id: trunk@5770 -
2006-12-31 17:47:05 +00:00
Jonas Maebe
c839d560ab * store widechar as integer rather than as widestring in variants
(Delphi-compatible)

git-svn-id: trunk@5731 -
2006-12-28 16:17:57 +00:00
yury
63a162ac83 * fixed tw4700.
git-svn-id: trunk@5388 -
2006-11-15 07:17:41 +00:00
yury
cc2b691c0c * Cleanup of variant manager stub in System unit. FPC 2.1.1 adds Variants unit implicitly. Variant manager stub in System unit is never called. This cleanup shrinks wince executable size by 3KB.
git-svn-id: trunk@5307 -
2006-11-10 14:41:45 +00:00
florian
60b1d1e162 * fpc_dispinvoke_variant is a compilerproc
git-svn-id: trunk@5256 -
2006-11-05 21:39:32 +00:00
florian
a13d358f1e * first partially working implementation of variant com invoking
git-svn-id: trunk@5247 -
2006-11-05 15:34:15 +00:00
florian
c947295cb8 + ttertiarynode
* traise node refactored using tertiarynode
* more dipatch stuff

git-svn-id: trunk@5215 -
2006-11-03 23:03:31 +00:00
florian
5c9b39549a * fixed olevariant -> variant conversion
git-svn-id: trunk@5131 -
2006-10-31 19:45:08 +00:00
micha
8678d52aeb * avoid warning when pointer points to size 1 data
* fix variantmanager for {$T+}

git-svn-id: trunk@4861 -
2006-10-11 16:40:40 +00:00
florian
8b841e9514 * fixed another problem caused by yesterdays real change
git-svn-id: trunk@4644 -
2006-09-18 18:21:00 +00:00
michael
5ef20e6215 + Added delphi compatibility Error procedure
git-svn-id: trunk@3610 -
2006-05-21 09:57:47 +00:00
florian
380d3be22c * started to fix var. array -> dyn. array
git-svn-id: trunk@1626 -
2005-11-01 22:41:25 +00:00
florian
c5f82ba6de + (ole)variant<->error type conversion
+ DynArraySetLength
+ DynArrayFromVariant

git-svn-id: trunk@1608 -
2005-10-30 23:12:08 +00:00
florian
700aacf6a3 + forgot to add some helpers, now type cast helpers for olevariants should be complete
git-svn-id: trunk@1169 -
2005-09-23 16:56:36 +00:00
florian
372141e19d + more olevariant type cast wrappers
git-svn-id: trunk@1168 -
2005-09-23 16:36:09 +00:00
florian
eb57d588fd + several olevariant helpers and wrappers implemented
git-svn-id: trunk@1157 -
2005-09-23 09:48:55 +00:00
florian
30769ea013 * made variant operators inlined
* fixed some inline directives
+ variant<->olevariant cast operators

git-svn-id: trunk@632 -
2005-07-15 21:12:21 +00:00
michael
b29507407e + Removed HASOVERLOADASSIGNBYUNIQUERESULT define
git-svn-id: trunk@315 -
2005-06-09 18:08:11 +00:00
peter
4ace790492 * remove $Log
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
florian
9da46ff50a * more descriptive error message in case of a missing variant unit added
* variant unit uses now the math unit for ** implementation

git-svn-id: trunk@158 -
2005-05-30 20:47:34 +00:00
michael
77152e9d1b + Added VarCast routine
git-svn-id: trunk@100 -
2005-05-25 20:25:58 +00:00
florian
937fcdf41e * better message in case of missing variants unit
git-svn-id: trunk@69 -
2005-05-22 12:41:36 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
db865d1e51 + variant<->currency/tdatetime operators 2005-04-28 19:34:19 +00:00
florian
89da61f7a8 + basic operators (int, real and string) for variants implemented 2005-04-10 20:24:31 +00:00
florian
9a463a8bc3 + varrarrayredim added and implemented 2005-04-10 09:22:38 +00:00
florian
372711eea4 + a lot of vararray stuff 2005-03-28 13:38:05 +00:00
florian
e59c1f74a2 + more vararray stuff 2005-03-25 19:02:59 +00:00
florian
74c89e2b87 + some variant stuff fixed and added 2005-02-24 22:36:36 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
0853821fd1 + interface <-> variant conversion from Danny Milosavljevic 2005-02-01 20:22:24 +00:00
florian
99ebd46010 * several variant init./final. stuff fixed 2005-01-15 18:47:26 +00:00
florian
bd211ce900 + init/cleaning code for variants added 2005-01-08 20:43:44 +00:00
florian
13c5439bb1 + basic rtl support for variant <-> interface implemented 2005-01-07 21:15:46 +00:00
florian
7fb9bd0f57 * implemented helper for variant<->dyn. array type cast 2004-12-05 11:49:06 +00:00
florian
5064ecaf57 * sparc uses wait4 as well 2004-08-18 21:03:35 +00:00