mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 22:14:25 +02:00
* i8086 far data memory model fixes in defutil.def_cgsize
git-svn-id: trunk@27247 -
This commit is contained in:
parent
97a3f50351
commit
f6b18e9b8d
@ -1201,8 +1201,7 @@ implementation
|
|||||||
result:=tcgsize(ord(result)+(ord(OS_S8)-ord(OS_8)));
|
result:=tcgsize(ord(result)+(ord(OS_S8)-ord(OS_8)));
|
||||||
end;
|
end;
|
||||||
classrefdef,
|
classrefdef,
|
||||||
pointerdef,
|
pointerdef:
|
||||||
formaldef:
|
|
||||||
begin
|
begin
|
||||||
{$ifdef x86}
|
{$ifdef x86}
|
||||||
if (def.typ=pointerdef) and
|
if (def.typ=pointerdef) and
|
||||||
@ -1218,24 +1217,16 @@ implementation
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
{$endif x86}
|
{$endif x86}
|
||||||
result := OS_ADDR;
|
result := int_cgsize(def.size);
|
||||||
end;
|
end;
|
||||||
|
formaldef:
|
||||||
|
result := int_cgsize(voidpointertype.size);
|
||||||
procvardef:
|
procvardef:
|
||||||
result:=int_cgsize(def.size);
|
result:=int_cgsize(def.size);
|
||||||
stringdef :
|
stringdef :
|
||||||
begin
|
result:=int_cgsize(def.size);
|
||||||
if is_ansistring(def) or is_wide_or_unicode_string(def) then
|
|
||||||
result := OS_ADDR
|
|
||||||
else
|
|
||||||
result:=int_cgsize(def.size);
|
|
||||||
end;
|
|
||||||
objectdef :
|
objectdef :
|
||||||
begin
|
result:=int_cgsize(def.size);
|
||||||
if is_implicit_pointer_object_type(def) then
|
|
||||||
result := OS_ADDR
|
|
||||||
else
|
|
||||||
result:=int_cgsize(def.size);
|
|
||||||
end;
|
|
||||||
floatdef:
|
floatdef:
|
||||||
if cs_fp_emulation in current_settings.moduleswitches then
|
if cs_fp_emulation in current_settings.moduleswitches then
|
||||||
result:=int_cgsize(def.size)
|
result:=int_cgsize(def.size)
|
||||||
@ -1245,15 +1236,10 @@ implementation
|
|||||||
result:=int_cgsize(def.size);
|
result:=int_cgsize(def.size);
|
||||||
arraydef :
|
arraydef :
|
||||||
begin
|
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)
|
result := int_cgsize(def.size)
|
||||||
else
|
else
|
||||||
begin
|
result := OS_NO;
|
||||||
if is_dynamic_array(def) then
|
|
||||||
result := OS_ADDR
|
|
||||||
else
|
|
||||||
result := OS_NO;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user