summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/symdef.pas6
-rw-r--r--rtl/inc/varianth.inc6
2 files changed, 10 insertions, 2 deletions
diff --git a/compiler/symdef.pas b/compiler/symdef.pas
index 0c43f86e09..f33a7439e2 100644
--- a/compiler/symdef.pas
+++ b/compiler/symdef.pas
@@ -2055,7 +2055,11 @@ implementation
procedure tvariantdef.setsize;
begin
- savesize:=16;
+{$ifdef cpu64bit}
+ savesize:=24;
+{$else cpu64bit}
+ savesize:=16;
+{$endif cpu64bit}
end;
diff --git a/rtl/inc/varianth.inc b/rtl/inc/varianth.inc
index 4713fdaf9b..40d1f46254 100644
--- a/rtl/inc/varianth.inc
+++ b/rtl/inc/varianth.inc
@@ -36,6 +36,8 @@ const
varint64 = 20;
varqword = 21;
+ varrecord = 36;
+
varstrarg = $48;
varstring = $100;
varany = $101;
@@ -104,7 +106,9 @@ type
varany : (vany : pointer);
vararray : (varray : pvararray);
varbyref : (vpointer : pointer);
- );
+ { unused so far, only to fill up space }
+ varrecord : (vrecord : pointer;precinfo : pointer);
+ );
1:
(vlongs : array[0..2] of longint);
);