+ tarminnode.pass_1 to set expectloc correctly

git-svn-id: trunk@22074 -
This commit is contained in:
florian 2012-08-13 15:03:35 +00:00
parent d2aa35e9de
commit ecb037ad79

View File

@ -36,6 +36,7 @@ interface
{ tarminnode }
tarminnode = class(tcginnode)
function pass_1: tnode; override;
procedure in_smallset(uopsize: tcgsize; opdef: tdef; setbase: aint); override;
end;
@ -64,6 +65,22 @@ implementation
TARMINNODE
*****************************************************************************}
function tarminnode.pass_1: tnode;
var
setparts: Tsetparts;
numparts: byte;
use_small: boolean;
begin
result:=inherited pass_1;
if not(assigned(result)) then
begin
if not(checkgenjumps(setparts,numparts,use_small)) and
use_small then
expectloc:=LOC_FLAGS;
end;
end;
procedure tarminnode.in_smallset(uopsize: tcgsize; opdef: tdef; setbase: aint);
var
so : tshifterop;