Преглед изворни кода

* made vararrays working on win64

git-svn-id: trunk@6515 -
florian пре 18 година
родитељ
комит
3aa64eb6b4
2 измењених фајлова са 9 додато и 9 уклоњено
  1. 5 5
      compiler/pexpr.pas
  2. 4 4
      rtl/inc/varianth.inc

+ 5 - 5
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,

+ 4 - 4
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;