mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 01:59:32 +02:00
* use voidpointertype.size to obtain the current data (self) pointer size,
instead of checking the i8086 memory model manually in tprocvardef.size git-svn-id: trunk@27313 -
This commit is contained in:
parent
359bd9a13a
commit
b1f69349f8
@ -5824,18 +5824,15 @@ implementation
|
|||||||
function tprocvardef.size : asizeint;
|
function tprocvardef.size : asizeint;
|
||||||
var
|
var
|
||||||
far_code_extra_bytes: integer = 0;
|
far_code_extra_bytes: integer = 0;
|
||||||
far_data_extra_bytes: integer = 0;
|
|
||||||
begin
|
begin
|
||||||
{$ifdef i8086}
|
{$ifdef i8086}
|
||||||
if po_far in procoptions then
|
if po_far in procoptions then
|
||||||
far_code_extra_bytes:=2;
|
far_code_extra_bytes:=2;
|
||||||
if current_settings.x86memorymodel in x86_far_data_models then
|
|
||||||
far_data_extra_bytes:=2;
|
|
||||||
{$endif i8086}
|
{$endif i8086}
|
||||||
if ((po_methodpointer in procoptions) or
|
if ((po_methodpointer in procoptions) or
|
||||||
is_nested_pd(self)) and
|
is_nested_pd(self)) and
|
||||||
not(po_addressonly in procoptions) then
|
not(po_addressonly in procoptions) then
|
||||||
size:=2*sizeof(pint)+far_code_extra_bytes+far_data_extra_bytes
|
size:=sizeof(pint)+far_code_extra_bytes+voidpointertype.size
|
||||||
else
|
else
|
||||||
size:=sizeof(pint)+far_code_extra_bytes;
|
size:=sizeof(pint)+far_code_extra_bytes;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user