* fix full cycle after adding new boolean types

git-svn-id: branches/pasboolxx@17847 -
This commit is contained in:
florian 2011-06-27 20:11:08 +00:00
parent 990add9272
commit 26850e3425
7 changed files with 18 additions and 13 deletions

View File

@ -2084,7 +2084,8 @@ unit cgcpu;
if not((def.typ=pointerdef) or if not((def.typ=pointerdef) or
((def.typ=orddef) and ((def.typ=orddef) and
(torddef(def).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,pasbool]))) then (torddef(def).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,
pasbool8,pasbool16,pasbool32,pasbool64]))) then
ai.SetCondition(C_VC) ai.SetCondition(C_VC)
else else
if TAiCpu(List.Last).opcode in [A_RSB,A_RSC,A_SBC,A_SUB] then if TAiCpu(List.Last).opcode in [A_RSB,A_RSC,A_SBC,A_SUB] then

View File

@ -1567,7 +1567,8 @@ unit cgcpu;
current_asmdata.getjumplabel(hl); current_asmdata.getjumplabel(hl);
if not ((def.typ=pointerdef) or if not ((def.typ=pointerdef) or
((def.typ=orddef) and ((def.typ=orddef) and
(torddef(def).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,pasbool]))) then (torddef(def).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,
pasbool8,pasbool16,pasbool32,pasbool64]))) then
cond:=C_VC cond:=C_VC
else else
cond:=C_CC; cond:=C_CC;

View File

@ -358,12 +358,12 @@ implementation
otl,ofl : tasmlabel; otl,ofl : tasmlabel;
begin begin
// writeln('second_cmpboolean'); // writeln('second_cmpboolean');
if (torddef(left.resultdef).ordtype in [pasbool,bool8bit]) or if (torddef(left.resultdef).ordtype in [pasbool8,bool8bit]) or
(torddef(right.resultdef).ordtype in [pasbool,bool8bit]) then (torddef(right.resultdef).ordtype in [pasbool8,bool8bit]) then
cgsize:=OS_8 cgsize:=OS_8
else else
if (torddef(left.resultdef).ordtype=bool16bit) or if (torddef(left.resultdef).ordtype in [pasbool16,bool16bit]) or
(torddef(right.resultdef).ordtype=bool16bit) then (torddef(right.resultdef).ordtype in [pasbool16,bool16bit]) then
cgsize:=OS_16 cgsize:=OS_16
else else
cgsize:=OS_32; cgsize:=OS_32;

View File

@ -580,7 +580,8 @@ unit cgppc;
current_asmdata.getjumplabel(hl); current_asmdata.getjumplabel(hl);
if not ((def.typ=pointerdef) or if not ((def.typ=pointerdef) or
((def.typ=orddef) and ((def.typ=orddef) and
(torddef(def).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,pasbool]))) then (torddef(def).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,
pasbool8,pasbool16,pasbool32,pasbool64]))) then
begin begin
if (current_settings.optimizecputype >= cpu_ppc970) or if (current_settings.optimizecputype >= cpu_ppc970) or
(current_settings.cputype >= cpu_ppc970) then (current_settings.cputype >= cpu_ppc970) then

View File

@ -177,12 +177,12 @@ implementation
firstcomplex(self); firstcomplex(self);
cmpop:=false; cmpop:=false;
if (torddef(left.resultdef).ordtype in [pasbool,bool8bit]) or if (torddef(left.resultdef).ordtype in [pasbool8,bool8bit]) or
(torddef(right.resultdef).ordtype in [pasbool,bool8bit]) then (torddef(right.resultdef).ordtype in [pasbool8,bool8bit]) then
cgsize:=OS_8 cgsize:=OS_8
else else
if (torddef(left.resultdef).ordtype=bool16bit) or if (torddef(left.resultdef).ordtype in [pasbool16,bool16bit]) or
(torddef(right.resultdef).ordtype=bool16bit) then (torddef(right.resultdef).ordtype in [pasbool16,bool16bit]) then
cgsize:=OS_16 cgsize:=OS_16
else else
cgsize:=OS_32; cgsize:=OS_32;

View File

@ -1052,7 +1052,8 @@ implementation
begin begin
if not((def.typ=pointerdef) or if not((def.typ=pointerdef) or
((def.typ=orddef) and ((def.typ=orddef) and
(torddef(def).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,pasbool]))) then (torddef(def).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,
pasbool8,pasbool16,pasbool32,pasbool64]))) then
begin begin
ai:=TAiCpu.Op_sym(A_Bxx,hl); ai:=TAiCpu.Op_sym(A_Bxx,hl);
ai.SetCondition(C_NO); ai.SetCondition(C_NO);

View File

@ -2208,7 +2208,8 @@ unit cgx86;
current_asmdata.getjumplabel(hl); current_asmdata.getjumplabel(hl);
if not ((def.typ=pointerdef) or if not ((def.typ=pointerdef) or
((def.typ=orddef) and ((def.typ=orddef) and
(torddef(def).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,pasbool8,pasbool16,pasbool32,pasbool64]))) then (torddef(def).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,
pasbool8,pasbool16,pasbool32,pasbool64]))) then
cond:=C_NO cond:=C_NO
else else
cond:=C_NB; cond:=C_NB;