From 3aa64eb6b453993afc843f94075d12000cfe2666 Mon Sep 17 00:00:00 2001 From: florian Date: Fri, 16 Feb 2007 20:12:34 +0000 Subject: [PATCH] * made vararrays working on win64 git-svn-id: trunk@6515 - --- compiler/pexpr.pas | 10 +++++----- rtl/inc/varianth.inc | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/compiler/pexpr.pas b/compiler/pexpr.pas index c5f0d9b3c1..0a9d3ad2bc 100644 --- a/compiler/pexpr.pas +++ b/compiler/pexpr.pas @@ -1821,7 +1821,7 @@ implementation { get temp for array of indicies, we set the real size later } - temp:=ctempcreatenode.create(sinttype,4,tt_persistent,false); + temp:=ctempcreatenode.create(s32inttype,4,tt_persistent,false); addstatement(newstatement,temp); countindices:=0; @@ -1829,12 +1829,12 @@ implementation p4:=comp_expr(true); addstatement(newstatement,cassignmentnode.create( - ctemprefnode.create_offset(temp,countindices*sinttype.size),p4)); + ctemprefnode.create_offset(temp,countindices*s32inttype.size),p4)); inc(countindices); until not try_to_consume(_COMMA); { set real size } - temp.size:=countindices*sinttype.size; + temp.size:=countindices*s32inttype.size; consume(_RECKKLAMMER); @@ -1846,7 +1846,7 @@ implementation { create call to fpc_vararray_put } paras:=ccallparanode.create(cordconstnode.create - (countindices,sinttype,true), + (countindices,s32inttype,true), ccallparanode.create(caddrnode.create_internal (ctemprefnode.create(temp)), ccallparanode.create(ctypeconvnode.create_internal(p4,cvarianttype), @@ -1864,7 +1864,7 @@ implementation { create call to fpc_vararray_get } paras:=ccallparanode.create(cordconstnode.create - (countindices,sinttype,true), + (countindices,s32inttype,true), ccallparanode.create(caddrnode.create_internal (ctemprefnode.create(temp)), ccallparanode.create(p1, diff --git a/rtl/inc/varianth.inc b/rtl/inc/varianth.inc index 54afff35f9..54b5c0ed99 100644 --- a/rtl/inc/varianth.inc +++ b/rtl/inc/varianth.inc @@ -55,16 +55,16 @@ type pvararraybound = ^tvararraybound; pvararray = ^tvararray; - tvararraybound = packed record + tvararraybound = record elementcount,lowbound : longint; end; tvararrayboundarray = array[0..0] of tvararraybound; - tvararraycoorarray = array[0..0] of SizeInt; + tvararraycoorarray = array[0..0] of Longint; - tvararray = packed record + tvararray = record dimcount,flags : word; - elementsize : ptrint; + elementsize : longint; lockcount : longint; data : pointer; bounds : tvararrayboundarray;