mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 23:21:57 +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)));
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user