* i8086 and i386-specific code from tabstractprocdef.is_pushleftright moved to

symi86

git-svn-id: trunk@27549 -
This commit is contained in:
nickysn 2014-04-12 15:34:08 +00:00
parent 0a515311e6
commit fc71081b74
3 changed files with 29 additions and 7 deletions

View File

@ -90,14 +90,14 @@ type
{ tcpuprocvardef }
tcpuprocvardef = class(tprocvardef)
tcpuprocvardef = class(ti86procvardef)
constructor create(level:byte);override;
end;
tcpuprocvardefclass = class of tcpuprocvardef;
{ tcpuprocdef }
tcpuprocdef = class(tprocdef)
tcpuprocdef = class(ti86procdef)
constructor create(level:byte);override;
function address_type:tdef;override;
end;

View File

@ -573,7 +573,7 @@ interface
procedure check_mark_as_nested;
procedure init_paraloc_info(side: tcallercallee);
function stack_tainting_parameter(side: tcallercallee): boolean;
function is_pushleftright: boolean;
function is_pushleftright: boolean;virtual;
function address_type:tdef;virtual;
procedure declared_far;virtual;
procedure declared_near;virtual;
@ -4477,11 +4477,7 @@ implementation
function tabstractprocdef.is_pushleftright: boolean;
begin
{$if defined(i8086) or defined(i386)}
result:=proccalloption in pushleftright_pocalls;
{$else}
result:=false;
{$endif}
end;
function tabstractprocdef.address_type: tdef;

View File

@ -30,6 +30,18 @@ uses
type
{ ti86procvardef }
ti86procvardef = class(tprocvardef)
function is_pushleftright: boolean; override;
end;
{ ti86procdef }
ti86procdef = class(tprocdef)
function is_pushleftright: boolean; override;
end;
{ ti86absolutevarsym }
ti86absolutevarsym = class(tabsolutevarsym)
@ -45,6 +57,20 @@ implementation
uses
symconst;
{ ti86procvardef }
function ti86procvardef.is_pushleftright: boolean;
begin
result:=proccalloption in pushleftright_pocalls;
end;
{ ti86procdef }
function ti86procdef.is_pushleftright: boolean;
begin
result:=proccalloption in pushleftright_pocalls;
end;
{ ti86absolutevarsym }
procedure ti86absolutevarsym.ppuload_platform(ppufile: tcompilerppufile);