* i8086 far data memory model fixes in defutil.def_cgsize

git-svn-id: trunk@27247 -
This commit is contained in:
nickysn 2014-03-23 22:14:09 +00:00
parent 97a3f50351
commit f6b18e9b8d

View File

@ -1201,8 +1201,7 @@ implementation
result:=tcgsize(ord(result)+(ord(OS_S8)-ord(OS_8)));
end;
classrefdef,
pointerdef,
formaldef:
pointerdef:
begin
{$ifdef x86}
if (def.typ=pointerdef) and
@ -1218,24 +1217,16 @@ implementation
end
else
{$endif x86}
result := OS_ADDR;
result := int_cgsize(def.size);
end;
formaldef:
result := int_cgsize(voidpointertype.size);
procvardef:
result:=int_cgsize(def.size);
stringdef :
begin
if is_ansistring(def) or is_wide_or_unicode_string(def) then
result := OS_ADDR
else
result:=int_cgsize(def.size);
end;
result:=int_cgsize(def.size);
objectdef :
begin
if is_implicit_pointer_object_type(def) then
result := OS_ADDR
else
result:=int_cgsize(def.size);
end;
result:=int_cgsize(def.size);
floatdef:
if cs_fp_emulation in current_settings.moduleswitches then
result:=int_cgsize(def.size)
@ -1245,15 +1236,10 @@ implementation
result:=int_cgsize(def.size);
arraydef :
begin
if not is_special_array(def) then
if is_dynamic_array(def) or not is_special_array(def) then
result := int_cgsize(def.size)
else
begin
if is_dynamic_array(def) then
result := OS_ADDR
else
result := OS_NO;
end;
result := OS_NO;
end;
else
begin